当我从jquery-ui 1.9切换到1.10(在两种情况下都使用jquery 1.8.3)时,我的jquery-UI自动完成功能被破坏了。
upgrade guide表示item.autocomplete
语法被ui-autocomplete-item
替换,但我无法使其工作。事实上,我认为Custom data and display的示例已被破坏,因为下拉列表中未显示desc
。
这可能非常简单,但我被阻止了,非常感谢一个例子,特别是在下拉列表中正确显示HTML(如<strong>
)的例子。
答案 0 :(得分:7)
btr基本上给了我答案,但对于其他人来说,这是我不理解的:
根据upgrade guide我已将item.autocomplete
更改为ui-autocomplete-item
,但我忘记将autocomplete
更改为ui-autocomplete
。
所以我的(无效)代码看起来像这样(我的自动完成调用的最后一部分):
.data( "autocomplete" )._renderItem = function( ul, item ) {
return jQuery( "<li>" ).data( "ui-autocomplete-item", item ).append( "<a>--" + item.label + "<br>" + item.desc + "</a>" ).appendTo( ul );
请注意,我在第2行将item.autocomplete
更改为ui-autocomplete-item
,但我忘记在第1行将autocomplete
更改为ui-autocomplete
等效的工作代码是:
.data('ui-autocomplete')._renderItem = function(ul, item) {
return jQuery('<li>').data('ui-autocomplete-item', item ).append('<a>--'+ item.label+'<br>'+item.desc+'</a>').appendTo(ul);
};
再次感谢帮助btr!