jquery - 使用 JQuery 和 Metronic 检查 ASP.NET MVC 复选框集

标签 jquery asp.net-mvc

所以我有一个正在为 asp.net mvc 项目构建的表单,并且顶部有一个复选框,基本上应该是下面的“全选”。 JQuery 应该很简单就能做到这一点...但是,它不起作用。

JQuery:

$("#SelectAll").change(function () {
    if ($(this).is(':checked')) {
        $('#Option1').prop('checked', true);
    }
    else {
        $('#Option1').prop('checked', false);
    }
});

我尝试了多种方法来选择复选框:

$('#Option1').attr('checked', true);

$('input[type="checkbox"][id="Option1"]').attr("checked", true);

这些都不起作用。我单击“全选”复选框,其他复选框根本没有改变。

此外,我在 View 中使用 Bootstrap,在表单中使用 JQuery 验证,但不在复选框上使用。

查看:

<div class="form-group">
    <label class="col-md-3 control-label">Option1:</label>
    <div class="col-md-1" style="margin-top:7px;">
        @Html.CheckBoxFor(model => model.Option1, new { @class = "form-control" })
    </div>
</div>

编辑:忘记添加我正在使用 Metronic 模板。

最佳答案

全选后检查复选框“Option1”选中属性的值。像这样的事情:

$('#Option1').prop('已检查');

在控制台中运行此命令,然后查看全选后检查的属性的值是什么。这会让您了解发生了什么。您的代码是否真正有效。

既然你说你正在使用bootstap,我必须问你是否正在使用某些主题?通常,主题为表单控件预装了 jQuery Uniform 等插件,其呈现方式与普通复选框控件不同。因此,即使您更新控件的选中属性,它仍然不会渲染它,直到您使用渲染它的插件更新它。

编辑: OP 评论说他正在使用 Metronic。所以我的想法是正确的,他正在使用一些不渲染复选框的主题。解决方案是调用 Metronic.updateUniform($(checkbox));更新 selectAll 上每个复选框的选中属性后。

关于jquery - 使用 JQuery 和 Metronic 检查 ASP.NET MVC 复选框集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27154641/

相关文章:

javascript - 获取表 mvc 中每行的复选框成功值

asp.net-mvc - 将多个值从 View 传递到 Controller 的好方法

jquery - 重叠类并在其上单击事件

Jquery 事件未绑定(bind)到 IE 中的隐藏 div

jquery - IE 和 mozilla 中的 jquery.js 出现错误,但 chrome 中没有

asp.net-mvc - asp.net mvc 中的远程属性——在某些情况下会限制我们的模型

c# - 将 JSON 对象传递给 MVC

asp.net - 设置ASP.NET MVC开发环境

javascript - 通过匹配其他数组来更改对象属性的位置

jquery - MVC 中使用 Knockout 进行文件上传