jQuery ajaxでデータのリストを非同期的に取得し、テキストボックスでオートコンプリートを呼び出して、jQueryページの準備完了イベントでデータをバインドしています。オートコンプリート テキスト ボックスは期待どおりに機能します。うまくいかないのは、ユーザーがフォームの送信ボタンを押したときに検証エラーが発生した場合です。ページは、最後の既知の値でテキスト ボックスを再入力しません。HTTP がステートレス プロトコルであることは知っています。かみそりで値をテキストボックスに手動で挿入しようとするか、オートコンプリート設定をいじって選択した値を何らかの方法で再入力しようとするかで迷っています。私は何をすべきか?
success: function (data) {
//reappend data - get drop down list
log("got data", data);
var arr = [];
$.each(data.vendors, function (i, val) {
arr.push({ label: val.Name, value: val.Name, item: val.Value });
});
var ele = $page.find("#vendorAuto");
ele.autocomplete({ source: arr, html: true, select: function (event, ui) {
$page.find("#VendorID").val(ui.item.item);
}});