它在找到的第一个自动填充中正确覆盖,但对其余部分不执行任何操作。 相反,它会加载您在https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L449处可以看到的原始_renderitem方法。
$(".someClassWithMultipleItemsOnDOM").autocomplete({
delay:500,
minLength:2,
source:path"
.....
}).data( "autocomplete" )._renderItem = function( ul, item ) {
提前致谢
答案 0 :(得分:20)
这个问题有一个解决方法:
var autoc = {
delay: 500,
minLength: 2,
source: path,
.....
};
var renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "<br/>" + item.desc + "</a>")
.appendTo(ul);
};
$(".someClassWithMultipleItemsOnDOM").each(function (i) {
$(this).autocomplete(autoc).data("autocomplete")._renderItem = renderItem;
}
答案 1 :(得分:9)
您可以覆盖_renderItem
$.ui.autocomplete.prototype._renderItem = function (ul, item) { ... };