3

チェックボックスをクリックした後、テキストボックスを動的に無効/有効にしたい。どうすればいいですか?私はこれを使用しています:

@{
    object addInput = (Model.AddInput) ? null : new { disabled = "disabled" };

 }

@Html.CheckBoxFor(model=> model.AddInput)

@Html.TextBoxFor(model => model.Input.Name, addInput)

ただし、起動時にのみ機能します。チェックボックスをクリックしても何も変わりません。無効状態を自動的に変更するためのバインディングをどのように行うことができますか?

4

3 に答える 3

8

これは JavaScript で行う必要があります。

@{
    object addInput = (Model.AddInput) ? null : new { disabled = "disabled" };

 }

@Html.CheckBoxFor(model=> model.AddInput)

@Html.TextBoxFor(model => model.Input.Name)


<script> 
    $('#AddInput').click(function() {
        var $this = $(this);

        if ($this.is(':checked')) {
            $('#Name').removeAttr("disabled"); 
        } else {
            $('#Name').attr("disabled", "disabled")
        }
    });
</script>
于 2013-02-04T09:21:48.337 に答える
0

何らかの理由で有効にしたい場合は、次を使用することもできます。

      $('#Name').attr("disabled", false);
于 2015-10-24T07:23:10.573 に答える
0

チェックボックスをクリックしてjqueryアクションを追加し、状態を適切に設定します。

于 2013-02-04T09:22:10.400 に答える