0

jQuery のオートコンプリートを少しカスタマイズし、changeイベント ハンドラーで、追加した関数を呼び出すために入力にアクセスする必要があります。パラメータは選択されたuiアイテムですが、ユーザーがランダムなテキストを入力した場合、アイテムは選択されず、ui.itemnull になります。そのため、DOMベースをトラバースすることはできませんui.item

要するに、私たち (実際にはこのプロジェクトの過去の誰か) が行ったことは、jquery ui ファイルを変更することです。

$.widget( "ui.autocomplete", {
    // original code here
    ourCustomMethod: function() {}
});

これでコンボボックスが作成されました (簡略化):

var self = this;
var input = this.input = $("<input>")
    .autocomplete({
        change: function(event, ui) {
            if (!ui.item) {
                // I want to call the ourCustomMethod here
                // I can't use the parents of ui.item because it's null
            }
        }
    });

では、どうすれば にアクセスできますourCustomMethodか? 私は推測してself.inputいますが、指を置くことはできません。

4

1 に答える 1