全选及取消全选

页面代码:

<asp:GridView ID="GridView1" runat="server" Width="100%" CellPadding="4" ForeColor="#333333"
                            AutoGenerateColumns="False" AllowPaging="True" PageSize="20" BorderColor="Silver"
                            BorderStyle="Solid" BorderWidth="1px" OnRowDataBound="GridView1_RowDataBound"
                            EmptyDataText="没有数据记录">
                            <Columns>
                                <asp:TemplateField>
                                    <HeaderTemplate>
                                        <asp:CheckBox ID="cbSelectAll" runat="server" AutoPostBack="false" onClick="javascript:SelectAll(this)" />
                                        <asp:Label ID="lblSelectText" runat="server" Text="全选" ></asp:Label>
                                    </HeaderTemplate>
                                    <ItemTemplate>
                                        &nbsp;<asp:CheckBox ID="cbSelect" runat="server" AutoPostBack="false" onClick="changechecked(this)"/>
                                    </ItemTemplate>
                                </asp:TemplateField>

 </asp:GridView>

 

JavaScript代码:

//全选及取消全选
function SelectAll(tempControl) {
    //将除头模板中的其他所有的CheckBox取反
    var theBox = tempControl;
    var lblShow = document.getElementById("GridView1_ctl01_" + "lblSelectText");
    xState = theBox.checked;
    elem = theBox.form.elements;
    for (i = 0; i < elem.length; i++) {
        if (elem[i].type == "checkbox" && elem[i].id != theBox.id) {
            if (lblShow.innerHTML == "全选")
                elem[i].checked = true;
            else
                elem[i].checked = false;
        }
    }
    if (lblShow.innerHTML == "全选")
        lblShow.innerHTML = "取消全选";
    else
        lblShow.innerHTML = "全选";
    theBox.checked = false;

}

//GridView中每行前的checkBox选中的函数
function changechecked(checkbut){  
 var v =checkbut.checked;  
 var lblShow = document.getElementById("GridView1_ctl01_lblSelectText");  //GridView1_ctl01_lblSelectText是页面运行后源代码里的Label控件的ID
 if (v) {  
     if (isallselected())
         lblShow.innerHTML = "取消全选";
} else {    
     if(isallcancel()) 
        lblShow .innerHTML="全选";
    }  
}
 //判断是否全不选中
 function isallcancel(){
    var f = document .form1;
    for(i=0;i<f.elements.length;i++){
        if(f.elements[i].type =="checkbox" && f.elements[i].id !="GidView1_ctl01_cbSelectAll")//GidView1_ctl01_cbSelectAll是页面运行后源代码的CheckBox的ID
            if(f.elements[i].checked)
                 return false ;
    }
    return true ;
}
 
 //判断是否全部选中
function isallselected(){  
 var f=document.form1;  
for(i=0;i<f.elements.length;i++){
    if (f.elements[i].type == "checkbox" && f.elements[i].id != "GridView1_ctl01_cbSelectAll")
        if (f.elements[i].checked != true) {
        return false;
    }  
 }  
  return true;  
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值