選択したアイテムのテキスト値をjqueryオートコンプリートで取得する方法を知りたいです。
次のようにjqueryを初期化しました:
$(document).ready(function (){
$("input#autocomplete").autocomplete({
source: postcodelist,
select: function (event, ui) {
AutoCompleteSelectHandler(event, ui)
}
});
});
そして、関数関数AutoCompleteSelectHandler(event、ui){}を作成しました。
この関数の内部では、正しいテキストボックスにデータをフィードするための追加の処理が必要ですが、選択したアイテムのテキスト値を取得する方法がわかりません。
私は少しグーグルして例を試してみましたが、うまく機能していないようです。
どんな助けでも大歓迎です。
どうもありがとうございました。
ui
パラメータには、選択したテキストを含むitem
プロパティがあります
function AutoCompleteSelectHandler(event, ui)
{
var selectedObj = ui.item;
alert(selectedObj.value);
}
ソース: http://jqueryui.com/demos/autocomplete/#event-select タブ「イベント」に移動し、次にイベント「選択」
// list of clients
$( "#client" ).autocomplete({
source: "lib/getClientList.php",
minLength: 2,
select: function(event, ui) {
alert(ui.item.value);
}
})
;
i.item.valueは、jqueryが入力に値を割り当てるために使用する参照です
無名関数をラップとして適用する必要はありません。関数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 );
}
ユーザーが自分で入力した場合と同じように、入力から値を取得するだけです。
$('input#autocomplete').val()