2016-06-12 5 views
1

私は、データベースからの名前の提案を提供するためにjQueryオートコンプリートプラグインを使用しています。私がしようとしているのは、選択された人の情報を表示することです。誰かがどのようにしてどこに行き、選択された人のID(プライマリキー)を取得するか、私にアイ​​デアを与えることができますか?一度選択した人の情報を表示するオートコンプリートjquery

JS

$('input[name="name"]').autoComplete({ 
     minChars: 1, 
     source: function(term, response){ 
      $.getJSON('names.php', { name: term }, function(data){ 
      var arr = $.map(data, function(el) { return el }); 
      response(arr); 
     }); 
     }, 
     onSelect: function(){ 
      //get id -> show info 
     } 
    }); 

Names.phpに

 require 'con.php'; 

    $term = $_GET['name']; 
    $arr = array(); 

    $query = mysqli_query($connection, 
      "SELECT 
        id, 
        firstname, 
        middlename, 
        lastname 
      FROM mytbl 
      WHERE firstname LIKE '%$term%' || 
        middlename LIKE '%term%' || 
        lastname LIKE '%term%'"); 

     while($row = mysqli_fetch_array($query)){ 
      $arr[] = $row['firstname'] . " " . $row['middlename'] . " " . $row['lastname']; 
     } 

    echo json_encode($arr); 

ありがとうございます!

+0

名前を返すのであれば、その中に 'data'値で返すことができます。 '' '。$ row [' firstname ']。 "" $ row ['middlename']。 "" $ row ['lastname']。 "" $ row ['extension_name']。 ' ''.data(' userid ')' – Rasclatt

+2

を使ってそれを奪います。また、あなたのmysqli_は簡単に注射することができます。準備された値/パラメータを使用する必要があります – Rasclatt

+0

@Rasclatt私はそれを正しくやっているのか分かりません。 タグが提案に表示されていました。そしてselectでは '

$('input[name="official_name"]').autoComplete({ 
    minChars: 1, 
    source: function(term, response) { 
     $.getJSON('names.php', { 
      official_name: term 
     }, function(data) { 
      var arr = $.map(data, function(el) { 
       return el 
      }); 
      response(arr); 
     }); 
    }, 
    select: function(event, ui) { 
     var id=ui.item.id; 
     console.log("Selected item ID => "+ id); 
    } 
}); 

コードの上、このようなjQueryのコードを見て何かは、名前とIDで多次元配列を返します。 jQueryオートコンプリートでは、返された配列のキーとしてラベルや値が期待され、ドロップダウンで表示されます。

labelプロパティには、提案に表示されlistand値は リストからユーザーが選択した何か 後のテキストボックスに追加されます。

任意の項目を選択すると、選択した項目のIDにアクセスするためにui.item.idを使用するだけで済みます。

関連する問題