ユーザーが以前に選択したドロップダウン値に応じて、ページを構成しようとしています。$(document).ready
またはでこれを実行しようとする$(window).load
と、ユーザーが以前に選択した保存済みオプションがドロップダウンにまだ「入力」されていないという問題があります。
つまり、次を使用します。
$("#mySelect").val()
の$(document).ready
結果でnull
。
の$(window).load
結果でnull
。
使用:
$("#mySelect option:selected").text()
の$(document).ready
結果で""
。
の$(window).load
結果で""
。
詳細情報:
ドロップダウンには、データベース内のルックアップ テーブルから値を取得し、jquery の append メソッドを使用して HTML を動的に構築する汎用ハンドラーを使用してオプションが入力されます。
次に、別の汎用ハンドラーが、ユーザーが以前に選択した保存データを取得します。ユーザー データは、ノックアウト ビュー モデルを使用してドロップダウンにバインドされます。
これらはすべて で行われ$(document).ready
ます。
このすべてが発生した後、特定のドロップダウンに対してユーザーが以前に選択したオプションに応じてページを構成したいと思います。構成とは、一部のコントロールを無効にする必要があることを意味します。
これはすべて私ができることです。ユーザーがドロップダウンでさまざまなオプションを選択した場合にも、ページは適切に構成されます。問題は、すべてのデータが取得され、ノックアウト ビューモデルがコントロールにバインドされた後、ドロップダウンで選択されたオプションを判断できないことです。つまり、ユーザーがページに再度アクセスしたときに、保存されたドロップダウン オプションに応じてページを構成できません$(document).ready
。
このシナリオで jquery val() メソッドを使用することが間違ったアプローチである場合は、検討すべき代替オプションを教えてください。
この点に関するヘルプやアドバイスをいただければ幸いです。