Jquery 复选框以选中gridview中的所有复选框

Jquery 复选框以选中gridview中的所有复选框,jquery,asp.net,gridview,checkbox,Jquery,Asp.net,Gridview,Checkbox,我编写了这个简单的代码来检查网格视图中的所有复选框 function chkFun() { if ($("#chkSelectAll").is(':checked')) { $("#grdSearchResults tr").each(function () { debugger var checkBox = $(this).find("input[id*='chkSelected']");

我编写了这个简单的代码来检查
网格视图中的所有
复选框

function chkFun() {
        if ($("#chkSelectAll").is(':checked')) {
            $("#grdSearchResults tr").each(function () {
                debugger
                var checkBox = $(this).find("input[id*='chkSelected']");
                $(checkBox).attr("checked", true);
            });
        }
        else {
            $("#grdSearchResults tr").each(function () {
                debugger
                var checkBox = $(this).find("input[id*='chkSelected']");
                $(checkBox).attr("checked", false);
            });
        }
    }
chkFun
将在单击
chkAll
复选框时调用。。它在第一次[选择和取消选择]时工作良好。。在那之后,它根本不起作用,我不知道为什么

我试着调试它,就像你在代码中看到的那样,它无处不在。。但是这一行
$(checkBox).attr(“checked”,false)在第一次之后没有做任何事情

使用
.prop()
而不是
attr()

另外,您不需要使用
。each()
,您可以用一行选择全部

或者您可以将函数绑定到
chkSelectAll
,并使用注释中推荐的代码Satpal使代码更短

$('#chkSelectAll').on('change', function () {
    $("#grdSearchResults tr").find("input[id*='chkSelected']").prop('checked', this.checked)
});
使用
.prop()
而不是
attr()

另外,您不需要使用
。each()
,您可以用一行选择全部

或者您可以将函数绑定到
chkSelectAll
,并使用注释中推荐的代码Satpal使代码更短

$('#chkSelectAll').on('change', function () {
    $("#grdSearchResults tr").find("input[id*='chkSelected']").prop('checked', this.checked)
});

你能提供你的标记吗?只使用JS代码有点难。试着使用class而不是ID。你能提供你的标记吗?仅凭JS代码很难做到这一点。尝试使用class而不是idOk,
.prop()
工作正常。。你能解释一下为什么
.attr()
在这里不是一个好函数吗???.attr不适用于boleean values@Mahmoud这里有一篇很好的帖子解释了prop vs attr,如果块可以被删除,代码可以用
$(“#grdSearchResults tr”).find(“输入[id*='chkSelected']”。prop('checked',this.checked)改进
@Satpal我刚刚注意到,这个.checked不起作用,因为
这个
不在函数的范围内,所以这个.checked不起作用:/Ok,
.prop()
可以正常工作。。你能解释一下为什么
.attr()
在这里不是一个好函数吗???.attr不适用于boleean values@Mahmoud这里有一篇很好的帖子解释了prop vs attr,如果块可以被删除,代码可以用
$(“#grdSearchResults tr”).find(“输入[id*='chkSelected']”。prop('checked',this.checked)改进
@Satpal我刚刚注意到,this.checked不起作用,因为
this
不在函数范围内,因此this.checked不起作用:/