web-dev-qa-db-ja.com

jqueryオートコンプリートは選択されたアイテムのテキストを取得します

選択したアイテムのテキスト値をjqueryオートコンプリートで取得する方法を知りたいです。

次のようにjqueryを初期化しました:

$(document).ready(function (){
    $("input#autocomplete").autocomplete({
        source: postcodelist,
        select: function (event, ui) {
            AutoCompleteSelectHandler(event, ui)
        }
    });
});

そして、関数関数AutoCompleteSelectHandler(event、ui){}を作成しました。

この関数の内部では、正しいテキストボックスにデータをフィードするための追加の処理が必要ですが、選択したアイテムのテキスト値を取得する方法がわかりません。

私は少しグーグルして例を試してみましたが、うまく機能していないようです。

どんな助けでも大歓迎です。

どうもありがとうございました。

18
rlee923

uiパラメータには、選択したテキストを含むitemプロパティがあります

function AutoCompleteSelectHandler(event, ui)
{               
    var selectedObj = ui.item;              
    alert(selectedObj.value);
}

ソース: http://jqueryui.com/demos/autocomplete/#event-select タブ「イベント」に移動し、次にイベント「選択」

31
GeertvdC
// list of clients
        $( "#client" ).autocomplete({
        source: "lib/getClientList.php",
        minLength: 2,
        select: function(event, ui) {
            alert(ui.item.value);
             }
        })

;

i.item.valueは、jqueryが入力に値を割り当てるために使用する参照です

14
onhundper

無名関数をラップとして適用する必要はありません。関数refを直接渡すことができます。

$(document).ready(function (){
   $("input#autocomplete").autocomplete({
        source: postcodelist,
        select: AutoCompleteSelectHandler
    });
});

そのメソッド内で、thisまたはevent.targetにアクセスして現在の値を取得できます。どちらの値も入力要素を参照しています。

function AutoCompleteSelectHandler(event, ui) {
    alert( $(event.target).val() );
    alert( $(this).val() );

    // alert( this.value );
}
4
jAndy

ユーザーが自分で入力した場合と同じように、入力から値を取得するだけです。

$('input#autocomplete').val()
1
kinakuta