Это странно.jQuery UI autocomplete missing _renderItem
$.fn.autoList = function() {
return this.each(function() {
var self = this;
// initiate autocomplete
$(self).autocomplete({
source: _li_data,
minLength: 2,
select: function (event, ui) {
ui.item.checkbox.prop('checked', true).trigger('change');
ui.item.checked = !ui.item.checked;
$(event.target).val('');
return false;
}
})
.data('autocomplete')._renderItem = function (ul, item) {
if (item.checked) {
return $("<li>")
.text(item.label)
.addClass('preselected')
.appendTo(ul);
}
};
});}
При наборе текста и перед визуализацией результатов я получаю следующее сообщение об ошибке. Uncaught TypeError: Cannot read property 'data' of undefined
в JQuery-UI-1.9.0.js: 6672, который имеет следующий код
_renderItemData: function(ul, item) {
return this._renderItem(ul, item).data("ui-autocomplete-item", item);
},
То, что я хочу сделать, это добавить «заранее выбранный» класс к -li- элементу в -ul- из выпадающее меню автозаполнения. Я застрял с этим ...
ли вы заканчивали [это] (http://stackoverflow.com/questions/14461787/jqueryui-1-10-0-autocompleter-renderitem-problems)? – anpsmn
Да. К сожалению, использование данных («uiAutocomplete») или данных («ui-autocomplete») или простых данных («автозаполнение») не помогает и выдает ту же ошибку. Использование __renderItem не вызывает ошибку, но это также ничего не делает. __renderItem = function (ul, item) { \t \t \t console.log (item, 'item'); \t \t}; не регистрируется. – pop
Ну, если if-condition '(item.checked)' is false, ваша функция '_renderItem' вернет' undefined'. Очевидно, вы не можете назвать какие-либо функции на этом – blgt