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