获取jquery中所选项目的索引自动完成

时间:2011-08-24 14:20:19

标签: javascript jquery autocomplete

我正在使用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);
                }
            });

        }
    });
});

1 个答案:

答案 0 :(得分:17)

示例:http://jsfiddle.net/hY5Wt/

您可以拥有一个对象数组,而不是两个数组。每个对象都有一个标签和索引:{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。