Repeater中CheckBox全选

前台代码:

<table class="stripe tableQuery" width="95%" cellpadding="0" cellspacing="0">
        <asp:Repeater ID="rpt" runat="server">
            <HeaderTemplate>
                <tr>
                    <th>
                    </th>
                </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <asp:CheckBox ID="cb_Id" runat="server"></asp:CheckBox>
                        <div style="display: none">
                            <asp:Label ID="lbl_Id" Text='<%# DataBinder.Eval(Container.DataItem,"ID") %>'
                                runat="server"></asp:Label></div>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
</table>
<asp:CheckBox ID="cb_SelectCancel" runat="server" Text="全选/取消"></asp:CheckBox>

js:

function cb_All(cb_all) {
    var mySelectBox = document.getElementById(cb_all);
    var item = document.forms(0).elements;
    if (mySelectBox.checked == true) {
        for (var i = 0; i < item.length; i++) {
            if (item[i].type == 'checkbox' && item[i].disabled == false) { item[i].checked = true; }
        }
    }
    else {
        for (var i = 0; i < item.length; i++) {
            if (item[i].type == 'checkbox' && item[i].disabled == false) { item[i].checked = false; }
        }
    }
}

后台绑定onclick事件:

cb_SelectCancel.Attributes.Add("onclick", "cb_All('cb_SelectCancel')");

以上方法为实现页面中所有CheckBox的全选,当页面存在多个Repeater时,可使用jquery实现某一Repeater中CheckBox的全选:

function cb_Sel(cb_all) {
            var mySelectBox = document.getElementById(cb_all);
            var item = $("input[id*='rpt_cb_Id']");
            if (mySelectBox.checked == true) {
                for (var i = 0; i < item.length; i++) {
                    if (item[i].type == 'checkbox' && item[i].disabled == false) { item[i].checked = true; }
                }
            }
            else {
                for (var i = 0; i < item.length; i++) {
                    if (item[i].type == 'checkbox' && item[i].disabled == false) { item[i].checked = false; }
                }
            }
        }
其中$("input[id*='rpt_cb_Id']")为获取ID为rpt的Repeater中所有CheckBox集合,若存在多个Repeater则只需改变rpt为其他Repeater的ID即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值