1
後に私はjQueryのAjaxでasychronouslyデータのリストを取得していますし、jQueryのページreadyイベントにデータをバインドするために、テキストボックスにオートコンプリートを呼び出します。オートコンプリートテキストボックスは期待通りに機能します。何がうまくいかないのは、ユーザーがフォームの[送信]ボタンを押したときに検証エラーが発生した場合です。ページは最後の既知の値でテキストボックスを補充しません。私はHTTPがステートレスなプロトコルであることを知っています。私は手作業で値を剃刀でテキストボックスに戻したり、オートコンプリート設定を混乱させたりして、選択した値を何とか再投入しようとしているのです。私は何をすべきか?永続化jQueryのオートコンプリートのテキストボックスには、ポストバック
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);
}});
愚かな質問ですが、あなたの検証はどのように見えますか?邪魔にならないAjax検証ですか?私はあなたが完全なページリフレッシュをしているように聞こえて、その場合の値は持続しないと思うので尋ねます。 –
あなたはそれが完全なページリフレッシュであり、値が永続していないと言うのは間違いありません。バリデーションはRazorで書かれており、サーバ側と見なされます。コントローラのアクションについては、if(Model.IsValid){do(); }ビュー(モデル)を返します。 –