问题描述
如何用ajax实现2个checkboxlist的联动:选中其中一个checkboxlist的任意一个item,另外一个checkboxlist根据选中的item的value重新绑定一个datatable.给出思路即可。最好有示例。
解决方案
解决方案二:
在SelectedIndexChanged事件里抓取当前被选中的项根据选中项的值重新获得一个datatable
解决方案三:
引用1楼fengjian_428的回复:
在SelectedIndexChanged事件里抓取当前被选中的项 根据选中项的值重新获得一个datatable
要用ajax实现啊
解决方案四:
checkboxlist的绑定必须通过服务器,实现你描述的效果不是绑定checkboxlist,而是用checkbox堆出一个checkboxlist。如果非要用checkboxlist,你可以把被动的checkboxlist放在iframe中,通过主动的checkboxlist选择后,给iframe传值,达到绑定的效果。
解决方案五:
将当前选中项的值通过ajax传递到服务器,调用相关函数,得到要管理的值,通过ajax读取,添加到checkboxlist如果不通过ajax的话,ls的方法完全可以。
解决方案六:
能给个可以示范的例子么
解决方案七:
这个问题使用.netAjax的Updatepanel控件可以简单的实现。
解决方案八:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm3.aspx.cs"Inherits="WebApplication1.WebForm3"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>UntitledPage</title></head><body><formid="form1"runat="server"><div><asp:ScriptManagerID="ScriptManager1"runat="server"></asp:ScriptManager><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><asp:CheckBoxListID="CheckBoxList1"runat="server"AutoPostBack="True"onselectedindexchanged="CheckBoxList1_SelectedIndexChanged"><asp:ListItem>1</asp:ListItem><asp:ListItem>2</asp:ListItem><asp:ListItem>3</asp:ListItem><asp:ListItem>4</asp:ListItem></asp:CheckBoxList><br/><br/><br/><asp:CheckBoxListID="CheckBoxList2"runat="server"><asp:ListItem>1</asp:ListItem><asp:ListItem>2</asp:ListItem><asp:ListItem>3</asp:ListItem><asp:ListItem>4</asp:ListItem></asp:CheckBoxList></ContentTemplate></asp:UpdatePanel></div></form></body></html>
在CheckBoxList1_SelectedIndexChanged后台事件里写根据CheckBoxList1的selectitem绑定CheckBoxList2的事件
解决方案九:
例如protectedvoidCheckBoxList1_SelectedIndexChanged(objectsender,EventArgse){for(inti=0;i<CheckBoxList1.Items.Count;i++){CheckBoxList2.Items[i].Selected=CheckBoxList1.Items[i].Selected;}}
解决方案十:
引用8楼yuanmanguo的回复:
例如C#codeprotectedvoidCheckBoxList1_SelectedIndexChanged(objectsender,EventArgse){for(inti=0;i<CheckBoxList1.Items.Count;i++){CheckBoxList2.Items[i].Selected=CheckBoxList1.Items[i].Selected;}}
up
解决方案十一:
ajax和json
解决方案十二:
首先是加载你的Checkbox,其实你可以用JS写出来:Cbox1=null;functioncreateBox(){if(!Cbox1){Cbox1=document.createElement("script");Cbox1.type="text/javascript";document.body.appendChild(Cbox1);}CGroupScript.src="path";}后台Response.Write(script);然后就是选择了functionselectClick(){varisContinue=true;vari=0;varj=0;varidStr="";while(isContinue){varcBox=document.getElementById('g'+(i++));//‘g’给Box命名,方便循环查看是否被选中if(cBox){if(cBox.checked){idStr+=j==0?cBox.gid:','+cBox.gid;//gid是它的valuej++;}}else{isContinue=false;break;}}}在此过程中你就把这些选中的CheckBox1值用JS解析并循环在CheckBox2中让执行选中。还有一种就是,还第一个JS一样直接交给后台处理,然后把处理结果Response.Write();出来覆盖原来的CheckBox
解决方案十三:
第一个checkboxlist数据后台直接绑定数据第二个checkboxlist2用ajax技术,js更新checkboxlist2数据