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では機能しません。
もう1つ:複数のオートコンプリートフィールドを使用しています。したがって、グローバルに設定することはできません。たとえば、$。ui.autocomplete.prototype._renderItem = customRenderItemは機能しますが、すべてのオートコンプリートに影響します。
代わりにui-autocomplete
を使用すると、問題が解決するはずです。
$("#Lexicon-search-input")
.autocomplete({
...
}).data("ui-autocomplete")._renderItem = customItemRenderer;
_renderItem
(特にソースコード)の使用方法に関するチュートリアルについては、 documentation を参照してください
クラスyourClass
で複数のオートコンプリート用の_renderItem
関数を作成する場合は、単に create
event で使用します
$('.yourClass').autocomplete({
create: function() {
$(this).data('ui-autocomplete')._renderItem ....
}
});
そのトピックに関する別の answer を参照してください。