JQueryUI версия 1.10 autocomplete - как установить _renderItem?
Поскольку я переключился с jqueryui 1.8.1 на 1.10.x, я понял, что мой пользовательский рендеринг элементов больше не работает:
Uncaught TypeError: Cannot set property '_renderItem' of undefined
Что нового в новых версиях jqueryui?
Здесь мой код:
$("#lexicon-search-input")
.autocomplete({
...
}).data("autocomplete")._renderItem = customItemRenderer;
Это работало на jqueryui 1.8.1, но не на 1.10.3.
Еще одна вещь: я использую несколько полей автозаполнения. Поэтому я не могу установить его глобально. Например, $.ui.autocomplete.prototype._renderItem = customRenderItem будет работать, но повлияет на все мои автозаполнения.
Ответы
Ответ 1
Использование ui-autocomplete
вместо этого должно решить вашу проблему.
$("#lexicon-search-input")
.autocomplete({
...
}).data("ui-autocomplete")._renderItem = customItemRenderer;
Смотрите документация для руководства по использованию _renderItem
(особенно исходного кода)
Если вы хотите создать функцию _renderItem
для нескольких автозаполнений с классом yourClass
, просто используйте ее в create
event
$('.yourClass').autocomplete({
create: function() {
$(this).data('ui-autocomplete')._renderItem ....
}
});
См. другой ответ по этой теме.