使用checkall复选框选中和取消选中复选框时,复选框不重复

时间:2014-01-09 09:01:17

标签: javascript jquery asp.net-mvc-4

这是我的脚本代码

$(document).on("click", "#checkAll", function () {
    var isSelected = false;
    var i = 0;
    $('#domain_popup_grid table tr').each(function () {
        if ($(this).find("input[id*='Checked']").length > 0) {
            for (i = 0; i < $(this).find("input[id*='Checked']").length; i++) {
                if ($(this).find("input[id*='Checked']")[i].checked == false) {
                    isSelected = true;
                }
            }
        }
    });
    if (isSelected == true) {
        $("#domain_popup_grid tbody input:checkbox").attr("checked", "");
    } else {
        $("#domain_popup_grid tbody input:checkbox").attr("checked", this.checked);
    }
})

这是我的观点

@using (Html.BeginForm("ManageGroups", "Admin"))
{
@Html.Grid(Model).Columns(columns =>
{
columns.Add(m => m.TagId)
.Titled("<input id='checkAll', type='checkbox' />")
.Sanitized(false)
.Encoded(false)
.RenderValueAs(d => Html.CheckBox(("Checked"), false));
columns.Add(alarm => alarm.GroupName).Titled("Groups").Sortable(true);
}).Sortable(true)    
<button id="SaveGroup" class="btn btn-primary pull-right img-responsive" >
Save
</button>
}

通过使用上面的代码,我可以只检查一次复选框,但不能一次又一次地重复 可以帮助解决。

1 个答案:

答案 0 :(得分:0)

使用.prop()设置检查状态

$("#domain_popup_grid tbody input:checkbox").prop("checked", this.checked);

演示:ProblemSoution

阅读:Prop Vs Attr