问题描述
页面代码如下:<asp:Repeaterrunat="server"ID="objRepeater"OnItemDataBound="objRepeater_ItemDataBound"><HeaderTemplate><tableclass="Grid"border="1"cellspacing="0"style="width:900px;"><tr></tr><th>省份</th><th>市</th></tr></HeaderTemplate><ItemTemplate><tr><td><asp:CheckBoxID="chkPrve"name="chkPrve"runat="server"/></td><td><asp:RepeaterID="repShopInfo"runat="server"><ItemTemplate><asp:CheckBoxID="chkCity"name="chkCity"runat="server"/></ItemTemplate></asp:Repeater></td></tr></ItemTemplate></asp:Repeater>左边为省份代码,右边为本省的所有城市,如果点击一个省份的checkbox选中此省份下所有城市city的checkbox后台如果获取选中的值。
解决方案
解决方案二:
意思是表格嵌套第一列是省第二列是市如果省的checkbox被选中那对应的全部的市也要被选中那如果市里面不是全选中,省还选中么?你想让省实现全选和取消全选么?
解决方案三:
but你到底想问什么呢???光贴代码,不说问题(具体点)。。。、、、
解决方案四:
意思是表格嵌套第一列是省第二列是市如果省的checkbox被选中那对应的全部的市也要被选中市里面不是全选中,省不选中就选中。请帮助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!想用jquery实现。纯JAVASCRIPT也行。谢谢大家
解决方案五:
<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title></title><scripttype="text/javascript"src="Scripts/jquery-1.4.1.min.js"></script></head><body><formid="form1"runat="server"><asp:RepeaterID="rp"runat="server"><HeaderTemplate><table></HeaderTemplate><ItemTemplate><tr><td><inputtype="checkbox"name='prve'/><%#Container.DataItem%>省</td><td><asp:RepeaterID="rpChild"runat="server"DataSource='<%#GetSource()%>'><ItemTemplate><inputtype="checkbox"name='city'value='<%#string.Format("{0}省{1}市",(Container.Parent.ParentasRepeaterItem).DataItem,Container.DataItem)%>'/><%#Container.DataItem%>市</ItemTemplate></asp:Repeater></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater><asp:ButtonID="btnSubmit"runat="server"Text="提交"OnClick="btnSubmit_Click"/></form><scripttype="text/javascript">$(function(){$('input[name="prve"]').click(function(){varprve=this;$('input[type="checkbox"]',$(this).parent().next()).each(function(){this.checked=prve.checked;});});});</script></body></html>
protectedint[]GetSource(){returnnewint[]{1,2,3,4,5};}protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){rp.DataSource=newint[]{11,22,33,44,55,66,77,88,99};rp.DataBind();}}protectedvoidbtnSubmit_Click(objectsender,EventArgse){ClientScript.RegisterStartupScript(GetType(),"selectValues",Request.Form["city"]);}
解决方案六:
参考相关:
解决方案七:
//第一级菜单2010-08-09designbylongbinfunctioncheck_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;elsedocument.all(MENU_ID).item(i).checked=false;varIDStr=document.all(MENU_ID).item(i).id;varID=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;elsedocument.all(MENU_ID).checked=false;}}//第二级子菜单2010-08-09designbylongbinfunctioncheck0(id,id1){varnameStr=document.getElementById(id).id;varID=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;}}varb=document.getElementById(id);vara=document.getElementById(id1);if(b.checked){a.checked=true;}}functionmysubmit(){varstr="";varall=document.getElementsByTagName("input")for(vari=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-09designbylongbinfunctioncheck1(obj,ID){varcb=document.getElementById(ID);cb.checked=obj.checked;varckbox=document.getElementsByTagName("input");for(vari=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>