如何设置jQuery-UI 1.10自动完成自定义显示

时间:2013-01-21 16:00:06

标签: jquery-ui jquery-ui-autocomplete

当我从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>)的例子。

1 个答案:

答案 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!