使用razor mvc和jquery的复选框禁用textbox

时间:2018-05-21 18:34:47

标签: razor model-view-controller checkbox textbox

我正在尝试使用@Html.TextBoxFor

在剃刀中禁用/启用@Html.CheckBoxFor

我已经以这种方式定义了我的CheckBoxFor:

@Html.CheckBoxFor(m => m.ResYearChecked, new { Name = "ResYearChecked", id = "ResYearChecked" })

@Html.TextBoxFor(m => m.SearchResYear, new { Name = "SearchResYear", id = "SearchResYear" })

我试图调用脚本:

<script>
    $('ResYearChecked').change(function () {
        $("SearchResYear").prop("disabled", !$(this).is(':checked'));
    });
</script>

我是否需要将onclick属性添加到CheckBoxFor

1 个答案:

答案 0 :(得分:0)

我能够找到解决方案。我为readonly启用了属性@Html.TextBoxFor。然后,我在检查readonly后删除了@Html.CheckBoxFor属性。

以下是我的@Html.CheckBoxFor@Html.TextBoxFor

的代码
@Html.CheckBoxFor(m => m.ResYearChecked, new { Name = "ResYearChecked", id = "ResYearChecked" })
@Html.TextBoxFor(m => m.SearchResYear, new { Name = "SearchResYear", id = "SearchResYear", @readonly = "readonly" })

这是JavaScript

<script>
    $('#ResYearChecked').change(function () {
        if ($(this).is(":checked")) {
            $("#SearchResYear").removeAttr("readonly");
            $("#SearchResYear").focus();
        } else {
            $("#SearchResYear").attr("readonly", "readonly");
        }
    });
</script>