js实现datalist中checkbox全选或取消

时间:2022-01-04 09:32:11

测试OK

1,全选按钮

<input id="Checkbox2" type="checkbox" onclick="SelectAll(this,'DataList2')" />

2,DataList2中加checkbox控件

<asp:CheckBox  id="chkItem"  runat="server"></asp:CheckBox>

3,引用JS

<head>

<script type="text/javascript" language="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();
                 }
            ///以下为反选    
                 if(elem[i].checked==false)
                 {
                    elem[i].checked=true;
                  }
                 else
                  {
                      elem[i].checked=false;
                   }
           ///以上为反选
            }
      }
    }

    </script>

</head>

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

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

 

转载:http://kbc11.blog.163.com/blog/static/8910199720096310484135/