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

Mar*_*rco 25 jquery-ui jquery-ui-autocomplete

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

Uncaught TypeError: Cannot set property '_renderItem' of undefined 
Run Code Online (Sandbox Code Playgroud)

新的jqueryui版本有什么不同?

这是我的代码:

$("#lexicon-search-input")
        .autocomplete({
        ...
        }).data("autocomplete")._renderItem = customItemRenderer;
Run Code Online (Sandbox Code Playgroud)

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

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

Sir*_*ton 66

ui-autocomplete相反,使用应解决您的问题.

$("#lexicon-search-input")
    .autocomplete({
    ...
    }).data("ui-autocomplete")._renderItem = customItemRenderer;
Run Code Online (Sandbox Code Playgroud)

有关如何使用的教程(尤其是源代码),请参阅文档_renderItem

如果要为类创建_renderItem多个自动复合函数,yourClass只需在事件中使用它create

$('.yourClass').autocomplete({
    create: function() {
        $(this).data('ui-autocomplete')._renderItem ....
    }
});
Run Code Online (Sandbox Code Playgroud)

请参阅该主题的另一个答案.