jQueryUI 1.10版自动完成 - 如何设置_renderItem?

时间:2013-07-10 10:45:06

标签: jquery-ui jquery-ui-autocomplete

自从我从jqueryui 1.8.1切换到1.10.x后,我意识到我的自定义项目渲染器不再起作用了:

Uncaught TypeError: Cannot set property '_renderItem' of undefined 

新的jqueryui版本有什么不同?

这是我的代码:

$("#lexicon-search-input")
        .autocomplete({
        ...
        }).data("autocomplete")._renderItem = customItemRenderer;

这是在jqueryui 1.8.1上工作,但在1.10.3上没有。

还有一件事:我使用多个自动填充字段。因此,我不能全局设置它。例如,$ .ui.autocomplete.prototype._renderItem = customRenderItem可以工作,但会影响我的所有自动完成。

1 个答案:

答案 0 :(得分:64)

使用ui-autocomplete可以解决您的问题。

$("#lexicon-search-input")
    .autocomplete({
    ...
    }).data("ui-autocomplete")._renderItem = customItemRenderer;

有关如何使用_renderItem(特别是源代码)的教程,请参阅documentation

如果您想为类_renderItem的多个自动填充功能创建yourClass功能,请在createevent

中使用它
$('.yourClass').autocomplete({
    create: function() {
        $(this).data('ui-autocomplete')._renderItem ....
    }
});

在该主题上查看我的另一个answer