我使用下面的代码来绑定Repeater
:
<asp:Repeater ID="rptList" runat="server" OnItemCommand="rptList_ItemCommand">
<ItemTemplate>
<tr class="odd gradeX" id="trid" runat="server">
<td data-title="Code">
<asp:CheckBox ID="chkid" runat="server" AutoPostBack="false" />
<asp:HiddenField ID="hiddenid" runat="server" Value='<%#Eval("Visa_Type_Id") %>'/>
</td>
<td class="hidden-480"><%#Container.ItemIndex+1 %></td>
<td class="hidden-480">
<asp:LinkButton ID="lnk1" runat="server" CommandName="Edit" CommandArgument='<%#Eval("Visa_Type_Id") %>'><%#Eval("Visa_Type_Name") %> </asp:LinkButton>
</td>
<td class="hidden-480"><%#Eval("Visa_Description") %></td>
<td class=" " style="width: 100px;"><a href="#"><span class="label label-success">Active</span></a> <a href="#"><span class="label label-success">Publish</span></a></td>
</tr>
</ItemTemplate>
</asp:Repeater>
以下代码是检查所有复选框:
protected void chkAll_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i <= rptList.Items.Count - 1; i++)
{
CheckBox chk = (CheckBox)rptList.Items[i].FindControl("chkid");
if (chk.Checked == true)
{
chk.Checked = false;
}
else
{
chk.Checked = true;
}
}
}
现在通过上面的代码检查Repeater
中的所有复选框,但我只想检查分页中显示的那些复选框。目前,如果我在第1页,使用上面的代码,也会检查第2页上的方框。
请帮帮我。
答案 0 :(得分:0)
您可以使用jQuery而不是服务器端代码: jsfiddle
$("#checkAll").click(function () {
$('input:checkbox').not(this).prop('checked', this.checked);
});