<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>无标题页</title>
<script type="text/javascript">
function selectAll(chkboxid)
{
var chkbox = document.getElementById(chkboxid);
var div = chkbox.parentElement.parentElement.parentElement;
var inputs = div.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++)
{
if(inputs[i].type=="checkbox")
{
inputs[i].checked=chkbox.checked;
}
}
}
</script></head>
<body>
<form id="form1" runat="server">
<div id="divRepeater1" style="float: left; width: 50%; cursor: pointer">
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<HeaderTemplate>
<div id="itemDiv" runat="server" class="divHeader">
<div>
全选<input type="checkbox" id="checkAll1" onclick="selectAll('checkAll1');" /></div>
<div>
学生姓名</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div>
<div id="itemDiv" runat="server" class="divRow">
<div>
<asp:CheckBox ID="chkbox" runat="server" />
</div>
<div>
<%# Eval("Class")%></div>
</div>
<hr />
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<div id="itemDiv" runat="server" class="divRow">
<div>
<asp:CheckBox ID="chkbox2" runat="server" />
</div>
<div>
<%# Eval("Student ")%></div>
</div>
</ItemTemplate>
</asp:Repeater>
<br /><br />
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
后台代码:
repeater1绑定数据
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
CheckBox chkbox = e.Item.FindControl("chkbox") as CheckBox;
if (chkbox != null)
{
Repeater r2 = e.Item.FindControl("Repeater2") as Repeater;
chkbox.Attributes.Add("onclick", string.Format("selectAll('{0}')", chkbox.ClientID));
//repeater2绑定数据
}
}
}
解决方案 »
- 导入excel时验证数据是否有重复
- 刚刚走出学校
- 请教一边接收文件,一边写硬盘的方法
- ConnectionString 属性尚未初始化
- 如何给 Repeater 绑定像datagrid一样的按钮列
- asp.net客户端加密 服务器端解密问题
- 有三个DataSet,要把三个DataSet重的数据信息读出来,放进一个DataTable或者DataSet里面去,怎么实现呢
- 高手来帮忙呀!小弟想的头破血流了!版主帮我把帖子多停留前面一点
- asp.net系统设计,请大家说说各自的经验或思路!
- 救命呀!我装了vs.net后,不小心重装了一遍iis,结果现在不认.aspx...。net文件了
- 给网页上的字加了下划线之后,怎么取消呢?
- 基于.NET的WebMail案例
希望各位帮我下谢谢了
后台的:
for (int i = 0; i <= Repeater1.Items.Count - 1; i++)
{
HtmlInputCheckBox cb = (HtmlInputCheckBox)Repeater1.Items[i].FindControl("cbSelect");
Label id = (Label)Repeater1.Items[i].FindControl("lbid");
Label name = (Label)Repeater1.Items[i].FindControl("lbName"); if (cb.Checked)
{
ids += id.Text.ToString() + ",";
names += name.Text.ToString() + ",";
}
}你可以加个label;checkbox只是做选中操作。
我贴的代码 已经可以实现 选中了
但是我不知道 选中的
checkbox 怎么把值保存到数据库中
就是不知道怎么取 到值
BindData();
foreach (RepeaterItem item in Repeater1.Items)
{
CheckBox Chk= (CheckBox)item.FindControl("chk");//通过Hiddenfiled获取ID
if(Chk.Checked)
{
}
}var table = document.getElementById("<%=Repeater1.ClientID %>");
var inputs = table.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
if(inputs[i].type=="checkbox"){
}
}服务端控件要刷新
<input type="checkbox" name='ckbName' value='<%# Container.DataItem%>' /><%# Container.DataItem%>
</ItemTemplate>
protected void btn_Click(object sender, EventArgs e)
{
value = Request.Form["ckbName"];}
<body>
<form id="form1" runat="server">
<div id="divRepeater1" style="float: left; width: 50%; cursor: pointer">
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<HeaderTemplate>
<div id="itemDiv" runat="server" class="divHeader">
<div>
全选<input type="checkbox" id="checkAll1" onclick="selectAll('checkAll1');" /></div>
<div>
学生姓名</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div>
<div id="itemDiv" runat="server" class="divRow">
<div>
<asp:CheckBox ID="chkbox" runat="server" />
</div>
<div>
<%# Eval("Class")%></div>
</div>
<hr />
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<div id="itemDiv" runat="server" class="divRow">
<div>
<asp:CheckBox ID="chkbox2" runat="server" values='<%#Eval("Student")%>' />
</div>
<div>
<%# Eval("Student ")%></div>
</div>
</ItemTemplate>
</asp:Repeater>
<br /><br />
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
后台代码:
repeater1绑定数据
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
CheckBox chkbox = e.Item.FindControl("chkbox") as CheckBox;
if (chkbox != null)
{
Repeater r2 = e.Item.FindControl("Repeater2") as Repeater; string id = chkbox .Attributes["values"].ToString() ;
chkbox.Attributes.Add("onclick", string.Format("selectAll('{0}')", chkbox.ClientID));
//repeater2绑定数据
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
StringBuilder builder = new StringBuilder();
for (int i = 0; i < Repeater1.Items.Count; i++)
{
Repeater repeater2 = Repeater1.Items[i].FindControl("Repeater2") as Repeater;
if (repeater2 != null)
{
for (int j = 0; j < repeater2.Items.Count; j++)
{
CheckBox cb = repeater2.Items[j].FindControl("chkbox2") as CheckBox;
if (cb != null)
{
if (cb.Checked)
{
Label lbnum = repeater2.Items[j].FindControl("Label1") as Label;
if (lbnum != null)
{
string num = lbnum.Text;
builder.Append(num);
builder.Append(",");
}
}
}
}
}
} string result = builder.ToString().TrimEnd(',');
}