0
我試圖用一個文本字段控制兩個jQuery autocomplete
搜索。jQuery自動完成,將多個自動完成實例綁定到相同的文本輸入
我可以用下面的代碼添加jQuery autocomplete
到輸入:
$("search-input").bind("autocompleteselect", jQuery.proxy(function (event, ui) {
//List element select callback
}, this)).autocomplete({
appendTo:"#result-list-1",
source: function (request, response) {
$.ajax({
url://some rest url,
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function (data) {
alert("fb sucess");
response($.map(data.data, function (item) {
//data mapping instructions
}));
},
});
}
}).data("autocomplete")._renderItem = jQuery.proxy(function (ul, item) {
return $("<li></li>").data("item.autocomplete", item).append("some html to append").appendTo(ul);
})
}
當我嘗試這第二次與其他參數的自動完成功能,它的工作原理應用到$("search-input")
但撤銷原有的功能。
任何人可以建議一種方法來設置第二個自動完成與撤消第一個?
這是有趣的,但我不知道如何將它應用到我的數據源是AJAX調用的情況。我不知道如何合併兩個AJAX調用。 – 2013-03-14 08:47:48
執行另一個Ajax調用並將重新調用的數據合併到成功事件中的舊資源。 – 2013-03-14 11:01:45
$阿賈克斯({ 網址://休息一下網址, 數據類型: 「JSONP」, 數據:{ 要素類: 「P」, 風格: 「完全」, maxRows進行:12, name_startsWith:請求。 (數據){ // getter var oldsource = $(「.selector」).autocomplete(「option」,「source」); var newsource = data; //一個新的json對象 //將其與舊來源合併 $ .merge(oldsource,newsource); // setter $(「.selector」).autocomplete(「option」,「source」,oldsource); })); }, }); – 2013-03-14 11:07:09