2013-03-12 2 views
0

두 가지 작업을 수행하려는 MySQL 쿼리에서 데이터를 생성했습니다. 데이터는 이름과 ID의 배열입니다.jQuery 자동 완성 구문 분석

먼저 jQuery 자동 완성에 이름 부분을 사용하여 이름을 필드에서 선택할 수 있도록합니다. 둘째, 선택한 항목의 ID를 숨겨진 필드에 넣을 항목을 자동 완성에서 선택합니다.

다음
$("#contact").autocomplete(
       source: function(request, response){ 
           $.ajax({ 
             url: "ajax/grabdata.php?", 
             type: "GET", 
             data: request, 
             success: function (data) { 
              response($.map(data, function (el) { 
               return { 
                label: el.item.name, 
                value: el.item.id 
               }; 
              })); 
             } 
            }); 
          }, 
          width: 260, 
          matchContains: true, 
          selectFirst: false, 
          select: function(event, ui){ 
            $('#contact').val(ui.label); 
            $('#id').val(ui.value); 
          } 
        }); 

내가 PHP에서 (grabdata.php) 데이터를 움켜 잡았다 방법은 다음과 같습니다 : 여기

내 JQuery와있다

 $sql = "SELECT DISTINCT contacts.id, contacts.firstname, contacts.lastname FROMcontacts WHERE (firstname LIKE '%$q%' OR lastname LIKE '%$q%')"; 
     $rsd = mysql_query($sql); 
     while($rs = mysql_fetch_array($rsd)) { 
     $kdata[] = array(
      "name" => $rs['firstname'].' '.$rs['lastname']."\n", 
      "id" => $rs['ID']."\n", 
    ); 
     $dataset[] = $kdata; 
     } 

내가 데이터를 얻을 수 있습니다,하지만 난 문제 분석을 데 내가 원하는대로 그것을. 이름은 자동 완성 필드에서 선택 가능해야하며 ID는 선택한 이름에 따라 입력해야합니다.

답변

0

지금까지 당신이 예상대로 내가, 당신이 선택 방법 매개 변수를 사용하지 않는 볼 수 있습니다 :

select: function(event, ui){ 
     $('#contact').val(ui.item.label); 
     $('#id').val(ui.item.value); 
    } 

당신은 ".item"를 누락되었습니다. 문서 확인 : http://jqueryui.com/autocomplete/#remote

+0

나머지 표기는 괜찮습니까? – user1230790

+0

PHP 부분에 대해서는 말할 수 없지만 자동 완성은 괜찮습니다. – Coz