解析jQuery自动完成
问题描述:
我已经从MySQL查询生成了一些数据,我想用两个东西来做。数据是一个名称和ID的数组。解析jQuery自动完成
首先,我想使用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。
答
据我所看到的,你是不是使用select方法的参数,你应该:
select: function(event, ui){
$('#contact').val(ui.item.label);
$('#id').val(ui.item.value);
}
你缺少了“.item”。检查文档:http://jqueryui.com/autocomplete/#remote
我的记谱法的其余部分是否可以吗? – user1230790 2013-03-12 12:59:18
我无法讲述PHP部分,但自动完成似乎没问题。 – Coz 2013-03-16 11:22:43