2012-05-07 6 views
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); 

       }}); 
+0

愚かな質問ですが、あなたの検証はどのように見えますか?邪魔にならないAjax検証ですか?私はあなたが完全なページリフレッシュをしているように聞こえて、その場合の値は持続しないと思うので尋ねます。 –

+0

あなたはそれが完全なページリフレッシュであり、値が永続していないと言うのは間違いありません。バリデーションはRazorで書かれており、サーバ側と見なされます。コントローラのアクションについては、if(Model.IsValid){do(); }ビュー(モデル)を返します。 –

答えて

0

どのようにして、選択した項目の値を格納し、ページの読み込みの値をテストし、値が存在する場合、ドロップダウンを設定するためにそれを使用するには、セッション、クッキーやキャッシュの使用に関する。

関連する問題