checkbox实现全选的多种方法 <script language=javascript> //第一种方法 function selectall1() { var a = document.getElementsByTagName("input"); if(a[0].checked==true){ for (var i=0; i<a.length; i++) if (a[i].type == "checkbox") a[i].checked = false; } else { for (var i=0; i<a.length; i++) if (a[i].type == "checkbox") a[i].checked = true; } } //第二种方法 function selectall2() { var tform = document.forms['form1']; for (var i=0;i<tform.length;i++) { var e = tform.elements[i]; if (e.type == "checkbox") e.checked = !e.checked; } }
//第三种方法,结合上述两种方法 function selectall3() { var a = document.getElementsByTagName("input"); for (var i=0; i<a.length; i++) if (a[i].type == "checkbox") a[i].checked =!a[i].checked; } //第四方法 function selectall4(id){ //用id区分 var tform=document.forms['form1']; for(var i=0;i<tform.length;i++){ var e=tform.elements[i]; if(e.type=="checkbox" && e.name==id) e.checked=!e.checked; } } //第五种方法 function selectall5(theform,thename){ var tform=document.forms[theform]; //document.getElementById("thewen").value='反选'; for(var i=0;i<tform.length;i++){ var e=tform.elements[i]; if(e.type=='checkbox' && e.name==thename)e.checked=!e.checked; } } </script> <form id="form1" name="form1" method="post" action=""> <input type="checkbox" name="sid" value="1" /> <input type="checkbox" name="sid" value="2" /> <input type="checkbox" name="sid" value="3" /> <input type="checkbox" name="sid" value="4" /> <input name="thes" type="button" οnclick="javascript:selectall1()" value="第一种" /> <input name="thes" type="button" οnclick="javascript:selectall2()" value="第二种" /> <input name="thes" type="button" οnclick="javascript:selectall3()" value="第三种" /> <input name="thes" type="button" οnclick="javascript:selectall4('sid')" value="第四种" /> <input name="thes" type="button" οnclick="javascript:selectall5('form1','sid')" value="第五种" /> </form>
本文摘自:
http://apps.hi.baidu.com/share/detail/16368621
以下为本人参考资料后编写GridView+CheckBox实现
从中学习到的知识点:
复选框响应事件提交服务时修改属性AutoPostBack为true 循环GridView的每一行for(int i=0;i<GirdView1.Rows.Count;i++) 查找GridView中的每行的子控件用GridView1.Rows[i].FindControl("**");**代表子控件的ID
前台主要代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="odsGoodsManager" onrowdatabound="GirdView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="checktb" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="编号" SortExpression="ID" ReadOnly="true" />
后台主要代码:
protected void selectall_CheckedChanged(object sender, EventArgs e)
{
//通过循环每一行,查找每一行的CheckBox控件(ID)
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox cbox = GridView1.Rows[i].FindControl("checktb") as CheckBox;
if (selectall.Checked==true)
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
}
}