javascript - 使用 javascript 管理 MVC 复选框

标签 javascript jquery asp.net-mvc

我有这两个相关的复选框:

<div class="col-md-12">
    <div class="col-md-4">
        @Html.Label("Issue", new { @class = "control-label" })
    </div>
    <div class="col-md-3 text-align-center padding-top-7">
        @Html.CheckBoxFor(model => model.IssueDisplay)
    </div>
    <div class="col-md-3 text-align-center padding-top-7">
        @Html.CheckBoxFor(model => model.IssueRequired, new { @onclick = "SetDisplayCheckbox(this,'IssueDisplay');" })
    </div>
</div>

我的 SetDisplayCheckbox() javascript 如下所示:

SetDisplayCheckbox = function (reqCb, targetCb) {
    debugger;
    var displayCb;
    if (targetCb == null || targetCb == undefined) {
        displayCb = $(reqCb).closest('.displayRequired').find('.requireMe')[0];
    }
    else
    {
        displayCb = $(document.getElementById(targetCb))[0];
    }
    if (reqCb.checked == true) {
        displayCb.checked = true;
        displayCb.disabled = true;
        displayCb.value = true; // I've tried with and without this.
    } else {
        displayCb.disabled = false;
    }
};

JavaScript 运行良好,选中了 IssueDisplay 复选框,但当我提交表单时,IssueDisplay 值返回为 false。

当选中为 true 时,为什么复选框没有设置为 true?

最佳答案

表单中的禁用字段不会发布到服务器,因此您的值始终为 false。尝试删除此行

displayCb.disabled = true;

如果您仍然需要禁用该复选框,您可以在表单提交事件之前启用它。

关于javascript - 使用 javascript 管理 MVC 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37444452/

相关文章:

javascript - pypugjs 中的组合条件

javascript - 根据单选按钮的状态变化使子内容出现/消失

javascript - session 超时计时器未等待音轨播放时间

jquery - 指向单页 Bootstrap 站点上的 div 的外部链接

javascript - Bootstrap 选项卡 : Next & Previous Buttons for Forms

c# - 为 ASP.NET MVC 项目设置数据访问的最佳方式是什么?

asp.net - Code First 启用迁移

javascript - 验证用户是否已登录的正确方法

javascript - 如何使用 PHP、javascript mysql 事务将输入的数组值插入到数据库中

asp.net-mvc - 使用 asp.net mvc 的离线和在线应用程序