1

ユーザーが以前に選択したドロップダウン値に応じて、ページを構成しようとしています。$(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() メソッドを使用することが間違ったアプローチである場合は、検討すべき代替オプションを教えてください。

この点に関するヘルプやアドバイスをいただければ幸いです。

4

1 に答える 1

1

ドキュメントがロードされた後ではなく、ドロップダウンにデータを入力したgeneric handler、言及したように設定する必要があります。

于 2013-04-26T13:20:08.363 に答える