選択値は私を混乱させています。ユーザーがアプリで行を編集すると、jquery (empty-X と呼ばれる) を使用してタグを複製し、それをモーダル ウィンドウに配置して、ユーザーが値を編集できるようにします。同時に、サーバーから json オブジェクト (データ) を取得し、モーダル ウィンドウの現在のフィールドをデータベースにそのまま入力します。
empty_X.find('#id_deals-1-currency').val(data[0].fields['currency']);
モーダルが表示されると、ユーザーはドロップダウンで正しい通貨がどのように選択されているかを確認できます。
しかし、この要素の HTML を Firebug でチェックすると、別の画像が表示され、何も選択されていないようです。
<select id="id_deals-1-currency" name="deals-1-currency">
<option selected="selected" value="">---------</option>
<option value="1">USD - $</option>
<option value="2">EUR - €</option>
<option value="3">GBP - £</option>
</select>
それでも、フォームをサーバーに送信すると、検証エラーは発生せず、通貨は以前に val() で設定した値と同じです。人生は素晴らしい。
これはそれ自体で機能しますが、問題があります。ユーザーが編集モードに戻り、通貨を保存する前にもう一度確認したい場合はどうすればよいでしょうか?
この場合、データベースから値をロードできなくなります。彼の以前のローカル変更は今重要です。ユーザーが以前に変更した内容を確認して確認できるように、現在のレコードをモーダル ウィンドウ内の通貨を使用して複製する必要があります。問題は、前のステップで変更した通貨がユーザーに表示されないことです。実際、代わりに空のドロップダウンが表示されます。
ここでのオプションは何ですか? selected
を使用するのではなく、フラグを実際の選択に設定する方法はありval()
ますか?