_renderItem根本沒有執行,用console.log嘗試也沒有打印任何消息。嘗試使用「自動完成」,「自動完成」,「自動完成」屬性沒有希望。Jquery自動完成_renderItem不起作用
另外我無法理解「地圖功能響應」的目的,所以禁用它。
$(document).ready(function() {
myVars.shId = $('#dataVar').attr('sh-data');
///// search ////// http://jsbin.com/xavatajiku/edit?js,output
console.log(myVars.shId);
$('#name-list').autocomplete({
source: function (request, response) {
$.ajax({
url: myVars.czbUrl,
data: { searchText: request.term, maxResults: 10, shopId: myVars.shId },
dataType: "json",
success: function (data) {
console.log(data);
/*response($.map(data, function (item) {
console.log(data);
return {
value: item.product_name,
avatar: item.pfimage_thumb,
rep: item.product_name,
selectedId: item.url
};
}))*/
}
})
},
select: function (event, ui) {
alert(ui.item ? ("You picked '" + ui.item.label)
: "Nothing selected, input was " + this.value);
return false;
}
}).autocomplete("instance")._renderItem = function (ul, item) {
console.log('test');
/*var inner_html = '<a><div class="list_item_container"><div class="image"><img src="' + item.pfimage_thumb + '"></div><div class="label"><h3> Reputation: ' + item.volume + '</h3></div><div class="description">' + item.product_name + '</div></div></a><hr/>';
return $("<li></li>")
.data("ui-autocomplete-item", item)
.append(inner_html)
.appendTo(ul);*/
};
HTML:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<h4>search:<input type="text" id="name-list" /></h4>
把你的'jquery-ui.js'放在'jquery.min.js'之後,並檢查控制檯是否有錯誤 – Curiousdev
是的,就是這樣,我把它放在這裏,現在它已經更正了。 – user3369417
你的'數據'是什麼樣的?您是否檢查過它按預期交付?最有可能的'renderMenu'函數沒有觸發,因爲'response()'回調沒有收到任何信息 – blgt