首页 > 解决方案 > 启用或禁用列表框的复选框

问题描述

我在创建的 ASP.NET MVC 页面上有一个复选框,如下所示:

<div>
    @Html.CheckBoxFor(m => m.allUsers, new { Name = "allUsersCheck" })
    @Html.LabelFor(m => m.allUsers)
</div>

我还有一个创建的列表框:

@Html.ListBoxFor(x => x.selectedUsers, Model.ListofUsers, new { style = "width:200px", size = 10, Id = "lbUsers" })

我有以下脚本(我在选中复选框时编写了该脚本以禁用列表框。我不明白为什么它不起作用。有人可以指出我的代码有什么问题吗?

此脚本在同一个 .cshtml 页面中,而不是在 .js 文件中:

<script >

    $(function () {
        $('#allUsersCheck').click(function () {
            $('#lbUsers').prop("disabled", $(this).prop('checked'));
        });
    });

</script>

标签: javascripthtmlasp.net-mvccheckboxforhtml.listboxfor

解决方案


因为您使用的是“#allUsersCheck”的 ID 选择器。与您的列表框(?)不同,该复选框没有 Id 属性。

@Html.CheckBoxFor(m => m.allUsers, new { Name = "allUsersCheck" })

使用 Id 属性尝试以下操作:

@Html.CheckBoxFor(m => m.allUsers, new { Name = "allUsersCheck", Id = "allUsersCheck" })

推荐阅读