1

当我从 jquery-ui 1.9 切换到 1.10(在两种情况下都使用 jquery 1.8.3)时,我的 jquery-UI 自动完成功能被破坏。

升级指南表明语法已item.autocomplete被替换,ui-autocomplete-item但我无法使其正常工作。事实上,我认为自定义数据和显示的示例被破坏了,因为desc它没有显示在下拉列表中。

这可能非常简单,但我被阻止了,非常感谢一个示例,特别是一个可以 <strong>在下拉列表中正确显示 HTML(如 )的示例。

4

1 回答 1

7

btr 基本上给了我答案,但对于其他人来说,这是我不明白的:

根据升级指南,我已更改item.autocomplete为,ui-autocomplete-item但我忘记更改autocompleteui-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 );

请注意,我更改item.autocompleteui-autocomplete-item第 2 行,但我忘记更改autocompleteui-autocomplete第 1 行

等效的工作代码是:

.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!

于 2013-01-25T14:38:23.213 回答