该程序来源于网络,只是对某些地方做了些修改,粗略测试已通过,但翻页时似乎还要加入全选复选框的初始化。在gridview和datalist也应该成立,但未测试。
.aspx页代码:
<%-- 全选复选框 --%>
<asp:CheckBox ID="CB_AllSelect" runat="server" onclick='SelectAll(this,"CheckBox1","Repeater1")' Text="选择所有" />
<%-- repeater每项复选框 --%>
<asp:CheckBox ID="CheckBox1" runat="server" />
js代码:
<script language="javascript" type="text/javascript">
function SelectAll(parentChk,ChildId,bigControlID) 
...{
var oElements = document.getElementsByTagName("INPUT");
var bIsChecked = parentChk.checked; 
for(i=0; i<oElements.length;i++) 
...{
if( IsCheckBox(oElements[i]) &&
IsMatch(oElements[i].id, ChildId, bigControlID)) 
...{
oElements[i].checked = bIsChecked;
}
}
}
function IsMatch(id, ChildId, controlID) 
...{
var sPattern ='^'+controlID+'_+.*'+ChildId+'$';
var oRegExp = new RegExp(sPattern);
if(oRegExp.exec(id))
return true;
else
return false;
}
function IsCheckBox(chk) 
...{
if(chk.type == 'checkbox') return true;
else return false;
}
</script>
.aspx.cs
protected void Button1_Click(object sender, EventArgs e)
...{
System.Text.StringBuilder temp = new System.Text.StringBuilder();
temp.Append("<br>choose: ");
foreach (RepeaterItem ri in Repeater1.Items)
...{
CheckBox chb=(CheckBox)ri.FindControl( "CheckBox1");
if (chb.Checked)
...{
Label lblValue = (Label)ri.FindControl("Label2");
temp.Append(lblValue.Text + " ");
}
}
Response.Write(temp);
}
ASP.NET全选复选框实现
本文介绍了一个ASP.NET项目中实现全选复选框功能的方法,包括使用Repeater控件结合JavaScript来同步全选状态与子复选框状态,并展示了如何在服务器端获取被选中的项。
108

被折叠的 条评论
为什么被折叠?



