我使用以下代码添加项目"其他"到自动填充列表:
open: function(event, ui) {
$('.ui-autocomplete').append('<li class="ui-menu-item" role="menuitem"><a class="ui-corner-all" tabindex="-1"><strong>Other</strong></a></li>');
},
项目&#34;其他&#34;出现在给用户的每个列表的末尾,作为对其键入的内容的响应,但是当鼠标移过它并且在单击时没有被选中时,该项目不会突出显示。我需要做些什么来确保它被突出显示并在点击时可以选择?
我正在使用Firebug将代码跟踪到下面显示的select函数中:
select: function( event, ui ) {
if (ui.item) {
var value = ui.item.type + ui.item.id;
var name = ui.item.acronym;
addContent(value, name);
event.preventDefault();
$(this).val('');
}
},
当我点击&#34; Other&#34;以外的任何项目时,select函数执行时没有错误,并且单击的项目将被正确处理。但是当我点击&#34;其他&#34; item,我收到一条错误消息&#34; f.item&#34;在第322行的jQuery UI 1.8.14min.js中为null。
因此,除了通过open函数添加li元素之外,我还需要将对象添加到映射到li的内容中。我该怎么做?
非常感谢任何协助。
由于
答案 0 :(得分:0)
这个JSFiddle显示它工作正常:The Fiddle
是否有可能在运行时有一些其他div / DOM对象重叠?
var test = function() {
$('.ui-autocomplete').append('<li class="ui-menu-item" role="menuitem"><a class="ui-corner-all" tabindex="-1"><strong>Other</strong></a></li>');
}
test();