【发布时间】:2011-02-20 21:51:08
【问题描述】:
我的 Gridview 模板列中有名为“A 类”和“B 类”的复选框。 我想要全选功能,即当用户选中 A 类列中的全选复选框时,必须在该列下选中所有复选框。 B类也一样。 我正在尝试使用下面的代码。我的代码的问题是,它选中了整个网格视图中的所有复选框,“A 类”以及“B 类”的复选框。 但是,我只想在同一列下选中复选框。
function SelectAllCheckboxesA(chk) {
$('#<%=gvSurveys.ClientID %>').find("input:checkbox").each(function() {
if (this != chk) {
if ($(this).hasClass('CatA') != false) {
this.checked = chk.checked;
}
}
else {
alert($(this));
}
});
}
<asp:GridView ID="gvSurveys" runat="server" AutoGenerateColumns="false" AllowSorting="True" Width="1500px">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Category A
<asp:CheckBox ID="chkSelectAllCatA" runat="server" Visible="false" onclick="javascript:SelectAllCheckboxesA(this);" CssClass="SACatA" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkCatA" runat="server" Enabled="false" CssClass="CatA" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Category B
<asp:CheckBox ID="chkSelectAllCatB" runat="server" Visible="false" CssClass="CatB" onclick="javascript:SelectAllCheckboxesB(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkCatB" runat="server" Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
【问题讨论】:
-
为了小狗的爱,请正确格式化您的代码(并接受一些答案)。
-
@ROMAN - 只有 4 个符合条件的问题和 16 个代表点。您可能想放他一马,然后指出系统是如何工作的。
-
@tvanfosson:注册用户3个月。常见问题解答是有原因的。
标签: asp.net javascript jquery jquery-selectors