2

私はasp.netmvc3アプリケーションに取り組んでいます。私はとを持ってい@Html.DropDownList("abcd")ます @Html.CheckBox("efgh")

私が欲しいもの:

DropDownListの定義済みオプションを選択する場合は、チェックボックスを無効にする必要があります。

私はsthについて考えます。そのように:

@if "defined option" is chosen of DropDownList("abcd") {
    disable checkbox("efgh")

チェックボックスを無効にする方法はすでにわかりました。

@Html.CheckBox("efgh", new { disabled = "disabled" })

ご覧のとおり、私はかみそりを使用しています

前もって感謝します!!ここで素晴らしい仕事をしている皆さん:)

4

2 に答える 2

2

私はsthについて考えます。そのように:

いいえ、ドロップダウンの変更はサーバーではなくクライアントで行われるため、JavaScript関数について考える必要があります。したがって、基本的にonchangeは、ドロップダウンのイベントをサブスクライブし、選択した値を読み取り、この値に基づいてチェックボックスの障害状態を切り替える必要があります。

たとえば、jQueryを使用している場合、これは次のようになります。

$(function() {
    $('#abcd').change(function() {
        var disabled = this.value == 'defined option';
        $('#efgh').prop('disabled', disabled);
    });
});

私の例abcdでは、明らかにドロップダウンefghのIDとチェックボックスのIDです。したがって、それらが正しく、実際の値と一致していることを確認してください。

ちなみに、HTML入力要素を無効にすると、フォームが送信されたときにその値がサーバーに送信されないことを忘れないでください。入力を変更できないときに値をサーバーに送信したい場合はreadonly、無効にするのではなく、値を作成することをお勧めします。

var readonly = this.value == 'defined option';
$('#efgh').prop('readonly', readonly);
于 2012-12-02T15:43:42.310 に答える
0

これは今私のために働いた

$(function() {
    $('#abcd').change(function() {
        if (this.value == 'defined option') {
          $('#efgh').attr('disabled', disabled);
        } else {
          $('#efgh').removeAttr('disabled', disabled);
        }
    });
});
于 2012-12-05T16:13:10.410 に答える