Не удается переопределить jQuery UI автозаполнение метода renderItem несколько раз
Он корректно переопределяется при первом обнаружении автозаполнения, но ничего не делает с остальными. Вместо этого он загружает оригинальный метод _renderitem, который вы можете увидеть по адресу https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L449.
$(".someClassWithMultipleItemsOnDOM").autocomplete({
delay:500,
minLength:2,
source:path"
.....
}).data( "autocomplete" )._renderItem = function( ul, item ) {
заранее спасибо
2 ответа
Решение
Есть обходной путь для этой проблемы:
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;
}
Вы можете переопределить _renderItem
$.ui.autocomplete.prototype._renderItem = function (ul, item) { ... };