Javascript实现在DataGrid上的CheckBox全选和取消

(本文适用与.Net 1.1)

1.   
      用C#等写的CheckBox需要回发到服务端执行,  
而用JavaScript可以在直接客户端实现,效率高些 

2.  DataGrid中的代码主要片段: 
 
               <Columns> 
 
                       <HeaderTemplate>              //头模板代码 
                                     <asp:CheckBox  id="chkHeader"  runat="server"  AutoPostBack="False"      //AutoPostBack设为假,不需要回发 
 
                                                       οnclick="javascript:SelectAll(this,'myDataGrid');"></asp:CheckBox>  //myDataGrid即为我的DataGrid的名称,使用时自行更换。
                       </HeaderTemplate> 
 
                     <ItemTemplate>                        //项模板代码 
                                     <asp:CheckBox  id="chkItem"  runat="server"></asp:CheckBox> 
                     </ItemTemplate> 
 
               </Columns>

3.在当页加入脚本: 
 
   <script language="javascript" type="text/javascript"> 
             function SelectAll(tempControl,tempSpan) 
             {
     //将除头模板中的其它所有的CheckBox取反
     var theBox=tempControl;
     var xState=theBox.checked;
     var strTemp=tempSpan;

     elem=theBox.form.elements; 
     for(i=0;i<elem.length;i++)
     {
      if(elem[i].type=="checkbox" && elem[i].id!=theBox.id && elem[i].name.substr(0,elem[i].name.indexOf(':'))==strTemp)
       {
        if(elem[i].checked!=xState)
        {
         elem[i].click();
        }
       }
     }
   }
  </script>

4.当使用者选择好后台代码取得某列CheckBox的值: 
for  (int  i  =  0;i  <this.DataGrid.Items.Count;i++) 

               bool  blnIfSelect  =  ((CheckBox)this.DataGrid.Items[i].FindControl("chkItem")).Checked; 
               ....;      //这是可以根据blnIfSelect进行各种操作了                   
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值