jQuery UI使用多个JSON源自动完成多个输入控件

时间:2011-06-17 12:46:58

标签: javascript jquery ajax jquery-ui jquery-ui-autocomplete

我从this example开始使用此代码:

var url = function(req, res){
    $.ajax({
        url: "getdata",
        dataType: "json",
        data: {
            term: req.term,
        },
        success: function(data){
            res($.map(data.students, function(item){
            return{
                label: item.cardId + "|" + item.firstName + " " + item.lastName,
                value: item.cardId
            }}))
        }
    });
};


$("#autocomplete").autocomplete({
    source: url
});
$("#autocomplete2").autocomplete({
    source: url
});

输入元素:

<input path="students" id="autocomplete" style="z-index: 100; position: relative" title="type &quot;a&quot;" autofocus="autofocus" />
<input path="items" id="autocomplete2" style="z-index: 100; position: relative" title="type &quot;a&quot;" />


两个输入现在都有相同的下拉列表。

问题:
如何更改网址功能以适应学生项目?或者只应复制每种输入类型的函数?

1 个答案:

答案 0 :(得分:4)

url函数中,this.element将为您提供触发自动填充功能的元素。您可以使用this.element.attr("id")或其他方法来修改JSONP网址。

Demo herecode here