Repeater嵌套,CheckBox选择问题,请帮助

hejiwang 2011-11-28 11:27:12
页面代码如下:
<asp:Repeater runat="server" ID="objRepeater" OnItemDataBound="objRepeater_ItemDataBound">
<HeaderTemplate>
<table class="Grid" border="1" cellspacing="0" style="width: 900px;">
<tr>
</tr>
<th>
省份
</th>
<th>

</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:CheckBox ID="chkPrve" name="chkPrve" runat="server" />
</td>
<td>
<asp:Repeater ID="repShopInfo" runat="server">
<ItemTemplate>
<asp:CheckBox ID="chkCity" name="chkCity" runat="server" /> </ItemTemplate>
</asp:Repeater>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>

左边为省份代码,右边为本省的所有城市,如果点击一个省份的checkbox选中此省份下所有城市city的checkbox

后台如果获取选中的值。
...全文
151 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hejiwang 2011-11-29
  • 打赏
  • 举报
回复
意思 是表格嵌套
第一列是省 第二列是市
如果省的checkbox 被选中 那对应的全部的市也要被选中

市里面不是全选中,省不选中就选中。

请帮助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
想用jquery实现。纯JAVASCRIPT也行。

谢谢大家

lx66103567 2011-11-29
  • 打赏
  • 举报
回复
but 你到底想问什么呢???光贴代码,不说问题(具体点)。。。、、、
insus 2011-11-29
  • 打赏
  • 举报
回复
IT0329 2011-11-29
  • 打赏
  • 举报
回复
longbin891012 2011-11-29
  • 打赏
  • 举报
回复
//第一级菜单2010-08-09 design by longbin

function check_all(menu_all,MENU_ID)
{
for (i=0;i<document.all(MENU_ID).length;i++)
{

if(menu_all.checked)
document.all(MENU_ID).item(i).checked=true;
else
document.all(MENU_ID).item(i).checked=false;
var IDStr = document.all(MENU_ID).item(i).id;
var ID = IDStr.split('CB')[1];
for (j=0;j<document.getElementsByName(ID).length;j++)
{
if(document.all(ID).item(j)!=null)
{
document.all(ID).item(j).checked = document.all(MENU_ID).item(i).checked;
}
}
}

if(i==0)
{
if(menu_all.checked)
document.all(MENU_ID).checked=true;
else
document.all(MENU_ID).checked=false;
}
}
//第二级子菜单 2010-08-09 design by longbin
function check0(id,id1)
{
var nameStr = document.getElementById(id).id;
var ID = nameStr.split('CB')[1];
for (j=0;j<document.getElementsByName(ID).length;j++)
{
if(document.all(ID).item(j)!=null)
{
document.all(ID).item(j).checked = document.getElementById(id).checked;
}
}
var b=document.getElementById(id);
var a=document.getElementById(id1);
if(b.checked)
{
a.checked=true;
}
}
function mysubmit()
{
var str="";
var all=document.getElementsByTagName("input")
for(var i=0;i<all.length;i++)
{
if(all[i].checked)
{
if(str=="")
{
str=all[i].value;
}else
{
str+=","+all[i].value;
}
}
}

//document.getElementById("lblFuncIdStr").value=str;
Form1.lblFuncIdStr.value = str;
Form1.submit();
}
//第三级子菜单 2010-08-09 design by longbin
function check1(obj,ID)
{
var cb = document.getElementById(ID);
cb.checked = obj.checked;
var ckbox = document.getElementsByTagName("input");
for(var i=0;i<ckbox.length;i++)
{
if(ckbox[i].type =="checkbox" && ckbox[i].name =="MENU_"+cb.name)
{
if(obj.checked)
{
ckbox[i].checked = obj.checked;
}
}

}
}
</script>
阿非 2011-11-29
  • 打赏
  • 举报
回复

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater ID="rp" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<input type="checkbox" name='prve' /><%#Container.DataItem %>省
</td>
<td>
<asp:Repeater ID="rpChild" runat="server" DataSource='<%#GetSource() %>'>
<ItemTemplate>
<input type="checkbox" name='city'
value='<%# string.Format("{0}省{1}市", (Container.Parent.Parent as RepeaterItem).DataItem, Container.DataItem)%>' />
<%# Container.DataItem %>市
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table></FooterTemplate>
</asp:Repeater>
<asp:Button ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" />
</form>
<script type="text/javascript">
$(function () {
$('input[name="prve"]').click(function () {
var prve = this;
$('input[type="checkbox"]', $(this).parent().next()).each(function () {
this.checked = prve.checked;
});
});
});
</script>
</body>
</html>


protected int[] GetSource()
{
return new int[] { 1, 2, 3, 4, 5 };
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
rp.DataSource = new int[] { 11, 22, 33, 44, 55, 66, 77, 88, 99 };
rp.DataBind();
}
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript(GetType(), "selectValues", Request.Form["city"]);
}
阿非 2011-11-28
  • 打赏
  • 举报
回复
意思 是表格嵌套

第一列是省 第二列是市

如果省的checkbox 被选中 那对应的全部的市也要被选中

那如果 市里面不是全选中,省还选中么?

你想让省实现 全选和取消全选么?

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧