1

私はjqueryオートコンプリートを使用しています

ソース値を呼び出したコントロール(送信者)を取得しようとしています

関数を使用してリストを取得します。

そのようなもの(のように見える):

$("#input").autocomplete({
    source: function (request, response) {
        $.post("/AjaxPostURL", request, response);
    }
}); 
sample From : http://stackoverflow.com/questions/1512607/how-do-i-set-jquery-

取得する代わりに投稿するオートコンプリート

しかし、私のものは外部関数です

関数内でコントロールをキャッチしたい

このように少し(のように見える):

 $("#input").autocomplete({
        source: myfunction (this)
        }
    }); 

myfunction = function (request, response, control ) {
            $.post("/AjaxPostURL", request, response);
            control.xxx
}

リクエストとレスポンスを保持する必要があります。しかし、関数を呼び出したコントロールも必要です。

どうやってやるの?

タンクあなた


パート2

私はそれが次のように見えるべきだと思います

source: function( event, ui ) {     
        myfunction(event,ui ,$(this));
        }

問題: $this は現時点では存在しません。関数が呼び出されたときにのみ設定されます。私の関数では未定義です(彼女が呼び出されたとき)。

4

1 に答える 1

0

this.elementを使用して呼び出し元の要素を取得します。

source: function (request, response) {
    $.getJSON(myFunction(this.element, request.term),
       response);

参照: jQuery オートコンプリート: 「ソース」イベントから ID を選択

于 2012-11-28T08:06:26.043 に答える