私は 2 つのことをしたい MySQL クエリからいくつかのデータを生成しました。データは、名前と ID の配列です。
まず、jQuery オートコンプリートの名前部分を使用して、名前がフィールドで選択できるようにします。次に、選択した項目の ID を非表示フィールドに配置するオートコンプリートの選択時に起動したいと考えています。
これが私のJQueryです:
$("#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) でデータを取得する方法は次のとおりです。
$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 を入力する必要があります。