我正在使用jQuery autocomplete,如下所示:
从我的PHP文件中,我得到了json编码的数组 - 一个用于id,一个用于名称。
我用姓名填写自动填充。在select
功能中,我能够正确提醒
所选项目,但我无法获得所选项目的索引。我怎么得到它?
$(function() {
$.ajax({
type: "POST",
url: "get_data.php",
success: function(data) {
data_array = jQuery.parseJSON(data);
$("#my_autocomplete").autocomplete({
source: data_array.names,
select: function(event, ui) {
alert(ui.item);
}
});
}
});
});
答案 0 :(得分:17)
您可以拥有一个对象数组,而不是两个数组。每个对象都有一个标签和索引:{label:"First", idx:1}
。自动完成将使用标签显示,在select事件中,您可以访问ui.item.idx以获取标识符/索引。
$( ".selector" ).autocomplete({
source: [{label:"First", idx:1},
{label:"Second", idx:2},
{label:"Third", idx:3}],
select: function(event, ui) { alert(ui.item.idx); }
});
您链接到自动完成插件,但您的代码看起来像是在使用jQuery UI。