C# jQuery选中/取消选中gridview内部的所有

C# jQuery选中/取消选中gridview内部的所有,c#,jquery,asp.net,C#,Jquery,Asp.net,在我的用户控件中,有一个gridview。我想使用标题复选框选择/取消选择gridview中的所有复选框。所以我使用jQuery实现它 function SelectAllCheckboxes(chk) { $('#<%=gridView.ClientID %> >tbody >tr >td >input:checkbox').attr('checked', chk.checked); } 在gridview的头部模板中,我放了这个 <asp:

在我的用户控件中,有一个gridview。我想使用标题复选框选择/取消选择gridview中的所有复选框。所以我使用jQuery实现它

function SelectAllCheckboxes(chk) {
    $('#<%=gridView.ClientID %> >tbody >tr >td >input:checkbox').attr('checked', chk.checked);
}
在gridview的头部模板中,我放了这个

<asp:CheckBox ID="chkHeader" runat="server"  OnClick="javascript:SelectAllCheckboxes(this);"/>
它工作得很好。 但是当另一个开发人员两次将我的用户控件放入aspx时, 它不好用

每当我选中第一个或第二个Gridview的标题复选框时,只有第二个Gridview的复选框处于选中或取消选中状态

即使我选中了第一个GridView的标题复选框,它也不会选中第一个GridView的复选框

我需要什么样的修改

提前感谢。

您可以使用最接近的方法:

从jquery的文档中:获取与选择器匹配的第一个元素,从当前元素开始,通过DOM树向上

编辑:我不太确定它是否会像那样工作。如果没有,您可以尝试:

function SelectAllCheckboxes(chk) {
    $(chk).closest('table').find('>tbody >tr >td >input:checkbox').attr('checked', chk.checked);
}
希望有帮助。

您可以使用最接近的方法:

从jquery的文档中:获取与选择器匹配的第一个元素,从当前元素开始,通过DOM树向上

编辑:我不太确定它是否会像那样工作。如果没有,您可以尝试:

function SelectAllCheckboxes(chk) {
    $(chk).closest('table').find('>tbody >tr >td >input:checkbox').attr('checked', chk.checked);
}
希望能有帮助