我正在嘗試使用自定義下拉菜單實現jQuery自動完成功能。我可以使用data()._ renderItem方法(註釋掉)自定義菜單項,但是這會禁用菜單「選擇」功能。如果我嘗試通過「標籤」字段自定義菜單項「選擇」功能可以工作,但我的菜單項HTML被解釋爲字符串。任何人都可以提出一個乾淨的方式來完成這一點。在實現自定義HTML菜單時丟失jQuery自動完成功能「選擇」功能
$("input#selectedInput")
.bind("autocompleteselect", function (event, ui) {
alert("Sel item " + JSON.stringify(ui.item.json));
})
.autocomplete({
appendTo: "#list",
source: function (request, response) {
//alert("success");
$.ajax({
//url: "http://itunes.apple.com/search?term=jack+johnson&entity=musicTrack",
url: "Example REST URL",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function (data) {
response($.map(data.results, function (item) {
itunesJson = item;
return {
label: "<li><img src='" + item.artworkUrl30 + "' alt='no photo'/>" + item.trackName + "</li>",
}
}));
},
});
}
})
/*
.data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<img src='"+item.value+"' alt='no photo'/>"+ item.label)
.appendTo(ul);
};
*/
實際上你必須在你的LI中有定位標記作爲你的根節點,以便定製自動完成功能。 – kamasheto 2012-09-09 14:00:14