我正在使用带有 jQuery 1.8.3 的 Jquery-ui 版本 1.10.3 并尝试实现自动完成服务器获取的数据的自定义显示:
这是渲染覆盖的部分:
$(#"...").autocomplete(...)
.data( "ui-autocomplete")._renderItemData = function( ul, item : Users.BriefUserDescriptor) {
ul.data('ui-autocomplete-item', item);
return $( "<li>" )
.data('ui-autocomplete-item', item )
.append( "<p>" + item.fullName + "<br>" + item.emailAddress+ "</p>" )
.appendTo( ul );
};
这行得通。元素按我想要的方式显示,除了关于焦点的问题:
focus: function( event, ui) {
var currentUser : Users.BriefUserDescriptor = ui.item;
$("#invitePersonInput" ).val(currentUser.fullName);
return false;
},
这总是会触发错误,即 currentUser (ui.item) 未定义。
我已经尝试了 'ui-autocomplete-item'、'uiAutocomplete' 等的几种组合,但到目前为止没有一个在这方面起作用,有些甚至完全没有完成菜单填写。
任何提示都会很棒。