0
這很奇怪。jQuery UI自動完成缺少_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 2015-03-13 09:52:01
是的。不幸的是,使用數據('uiAutocomplete')或數據('ui-autocomplete')或普通數據('autocomplete')不起作用並引發相同的錯誤。使用__renderItem不會引發錯誤,但它也不會執行任何操作。 __renderItem = function(ul,item){ \t \t \t console.log(item,'item'); \t \t}; 不記錄。 – pop 2015-03-13 09:56:03
那麼,如果if條件'(item.checked)'爲false,'_renderItem'函數將返回'undefined'。顯然你不能調用那個 – blgt 2015-03-13 10:00:54