1

jqueryで動的に設定されるいくつかのラジオボタンを備えたhtmlフォームがあります。これにより、asp.net mvc アプリケーションにポストバックされます。

3 つのラジオ ボタンがあるとします。値が modelbind to になるとしますRadioOption

        名前 ID チェック済み? 無効?モデル値

  • オプション1 #opt1 ✓ ✗ 0
  • オプション2 #opt2 ✗ ✗ 1
  • オプション3 #opt3 ✗ ✓ 2

ユーザーは、この JavaScript コードのビットをトリガーする別のオプションを選択します。

$("#opt1").prop("checked", false);
$("#opt1").prop("disabled", true);

$("#opt2").prop("checked", false);
$("#opt2").prop("disabled", true);

$("#opt3").prop("checked", true);
$("#opt3").prop("disabled", true);

(視覚的に)示している

        名前 ID チェック済み? 無効?モデル値

  • オプション1 #オプション1 ✗ ✓ 0
  • オプション2 #opt2 ✗ ✓ 1
  • オプション 3 #opt3 ✓ ✓ 2

したがって、ユーザーはチェックを外すことができませんopt3

RadioOptionさて、これはページ上ではすべて問題ないように見えますが、送信ボタンを押して Glimpse Model Binding ページを見ると、入ってくる値2は期待したものとは異なりますが、0(元の値)

正しい値を受け取ることができるようにするこれらのラジオ ボタンを設定する別の方法はありますか?

4

1 に答える 1

0

これは、Option3 フィールドが無効になっているため、値がポストバックに含まれないという問題によるものです。

詳細については、ポストバック後に無効化されたラジオ ボタンの値が失われるを参照してください。

于 2013-08-19T23:20:29.923 に答える