Repeater嵌套,CheckBox选择问题,请帮助
页面代码如下:<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
后台如果获取选中的值。 --------------------编程问答-------------------- 意思 是表格嵌套
第一列是省 第二列是市
如果省的checkbox 被选中 那对应的全部的市也要被选中
那如果 市里面不是全选中,省还选中么?
你想让省实现 全选和取消全选么?
--------------------编程问答-------------------- but 你到底想问什么呢???光贴代码,不说问题(具体点)。。。、、、 --------------------编程问答-------------------- 意思 是表格嵌套
第一列是省 第二列是市
如果省的checkbox 被选中 那对应的全部的市也要被选中
市里面不是全选中,省不选中就选中。
请帮助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
想用jquery实现。纯JAVASCRIPT也行。
谢谢大家
--------------------编程问答--------------------
<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"]);
}
http://www.cnblogs.com/insus/archive/2011/06/17/2081639.html --------------------编程问答-------------------- //第一级菜单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> --------------------编程问答--------------------
补充:.NET技术 , ASP.NET