4
我遇到了jQuery自動完成問題。我是定製,以 顯示了兩個類型的項目:jQuery自動完成自定義_renderItem問題
- 實際匹配的搜索字符串和
- 建議(拼寫更正,相關的關鍵字等)
後端做所有的工作就此而言;自動完成只是提供兩個列表。
圖片可以更好地解釋:
http://shot.ninjaloot.se/20120412.141112.png(該數據僅僅是虛擬而開發的數據使用,並且造型尚未完成)
雖然呈現作品,選擇(點擊或以其他方式)的在 項目拋出一個異常,這是很難調試:
TypeError: 'undefined' is not an object (evaluating 'ui.item.data')
據我瞭解,在menu.selected功能被賦予了ui
參數 有一個未定義的item
密鑰。
爲什麼會發生這種情況,我該怎麼辦?如果我註釋掉我的自定義渲染器 ,選擇工作。
這是我的自定義渲染器功能。它已經逐步從 UI源文件中提取,然後擴展以執行我的自定義haxing。
$input.data("autocomplete")._renderItem = function(ul, item) {
var cls = 'ui-menu-item';
if(item.label === null) {
cls += ' center disabled';
item.label = '-- perhaps thou meaneth --';
}
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a class='ui-corner-all'>" + item.label + "</a>")
.addClass(cls)
.appendTo(ul);
};
如果需要更多的代碼,我很樂意提供它!
你能顯示一個代碼塊嗎?我們有同樣的問題。 – chrisvillanueva 2012-08-16 18:13:09
與底部示例相同,但第二行僅爲「var cls ='';」而不是用ui-menu-item定義它。 – 2012-08-23 15:54:21
您應該將您的解決方案作爲實際答案發布,而不是編輯您的問題。 – lifo 2012-12-13 14:14:35