アカウントのオートコンプリートが必要な多くのフィールドを含む大きなHTMLフォームがあります。これらのフィールドにAccountLookupクラスのタグを付けると、jQueryがオートコンプリートのダーティな作業を行います。
$(".AccountLookup").autocomplete({
source: function (request, response) {
$.ajax({
url: "Lookup.asmx/GetAccounts",
data: "{ 'Search': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
value: item.Value
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 3
});
これで、ユーザーがオートコンプリートから何かを選択したときに、タグ付けされた入力フィールドの直前に非表示フィールドにデータを入力する必要があります。おそらく次のようなものを使用しています:
$(this).prev().val(item.Key);
この機能を組み込むにはどうすればよいですか?また、ユーザーにオートコンプリートから選択させるにはどうすればよいですか?(すべての値は事前定義されており、ユーザーは新しい値を追加できません。)
編集: 私がDOMを調べて理解している限り、選択オプションは現在、非表示のフォームフィールドに入力されています。
select: function (event, ui) {
$(this).prev().val(ui.item.key);
}