省份 城市 区域 下拉框怎么进行级联 我做了一个显示省份 城市 区域以树的形式显示,可我现在要把这个改成动态的下拉框级联,也就是在jsp页面只有一个下拉框显示的是省份,然后当我点击省份的时候又增加一个下拉框出来显示城市,在点击城市又显示区域出来,当我在这个地区在添加其他子节点的时候,它又会在添加一个下拉框区域出来,请问这个该怎么实现呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库里面地区的数据是有pid进行关联上下级的数据的 普通的三级联动,用Ajax啊!个人认为还是jQuery最好用。 用JS实现多级级联下拉框基本思想:把下拉框的数据全部读出,并存放在JS的Array中。 当选择下拉框的时候触发onChange()事件动态的添加级联 下拉框的内容。<html> <script language="javascript"> var areaArray = new Array(); areaArray[areaArray.length]=new Array("1","杭州"); areaArray[areaArray.length]=new Array("2","湖州"); areaArray[areaArray.length]=new Array("3","温州"); var townArray = new Array(); townArray[townArray.length]=new Array("1","1","上城区"); townArray[townArray.length]=new Array("1","2","下城区"); townArray[townArray.length]=new Array("2","3","南浔镇"); townArray[townArray.length]=new Array("2","4","菱湖镇"); townArray[townArray.length]=new Array("3","5","乐清"); townArray[townArray.length]=new Array("3","6","苍南"); function setTown(obj1ID,obj2ID){ var objArea = document.getElementById(obj1ID); var objTown = document.getElementById(obj2ID); var i; var itemArray = null; if(objArea.value.length > 0){ itemArray = new Array(); for(i=0;i<townArray.length;i++){ if(townArray[i][0]==objArea.value){ itemArray[itemArray.length]=new Array(townArray[i][1],townArray[i][2]); } } } for(i = objTown.options.length ; i >= 0 ; i--){ objTown.options[i] = null; } objTown.options[0] = new Option("请选地区"); objTown.options[0].value = ""; if(itemArray != null){ for(i = 0 ; i < itemArray.length; i++){ objTown.options[i+1] = new Option(itemArray[i][1]); if(itemArray[i][0] != null){ objTown.options[i].value = itemArray[i][0]; } } } } </script> <body> <table width="99%" border="0" align="center" style="border-bottom:1px solid #cccccc"> <tr> <td width="10"><select name="areaid" id="areaid" onChange="setTown('areaid','townid')"> <option value="">请选市县</option> <option value="1">杭州</option> <option value="2">湖州</option> <option value="3">温州</option> </select> </td> <td width="10"><select name="townid" id="townid"> <option value="">请选地区</option> </select> </td> </tr> </table> </body></html> 用Jquery的ajax,要不用jsp的标签JSTL页可以; 用AJAX,很容易的。 大概思路就是:当你选择省份的下拉框时,调用它的onchange事件,在查询对应的数据,邦定到城市下拉框上面去。选择城市,在改变区域的时一样的思路。 建议使用 ajax 。读数据库 onchange事件用Ajax实现,楼主别忘了要清空就可以了。 ajax请求servlet去访问数据库, 给界面返回结果 用dwr 我刚刚做了一个,很好用哦 我的资源里有个,你不防去看看。http://download.csdn.net/source/2565784 SSH设计中,数据库插入错误,代码,错误如下 求助 高手们帮我 请帮我看看一个关于iBATIS的简单问题 hibernate上实现JTA事务总是有问题 SprigMVC 返回 redirct 后,找不到页面的问题 struts中标签的控制问题 jboss-3.0.3_tomcat-4.1.12和ANT 请问有经验的同仁。你们问开发一个中等项目的J2EE工程大体需要多长的时间(B/S模式) 菜鸟求教:关于webservice鉴权 同步 怎么理解这两个的区别呀 ehcache(难度困扰50年)
用JS实现多级级联下拉框基本思想:把下拉框的数据全部读出,并存放在JS的Array中。 当选择下拉框的时候触发onChange()事件动态的添加级联 下拉框的内容。
<html> <script language="javascript"> var areaArray = new Array(); areaArray[areaArray.length]=new Array("1","杭州"); areaArray[areaArray.length]=new Array("2","湖州"); areaArray[areaArray.length]=new Array("3","温州"); var townArray = new Array(); townArray[townArray.length]=new Array("1","1","上城区"); townArray[townArray.length]=new Array("1","2","下城区"); townArray[townArray.length]=new Array("2","3","南浔镇"); townArray[townArray.length]=new Array("2","4","菱湖镇"); townArray[townArray.length]=new Array("3","5","乐清"); townArray[townArray.length]=new Array("3","6","苍南"); function setTown(obj1ID,obj2ID){ var objArea = document.getElementById(obj1ID); var objTown = document.getElementById(obj2ID); var i; var itemArray = null; if(objArea.value.length > 0){ itemArray = new Array(); for(i=0;i<townArray.length;i++){ if(townArray[i][0]==objArea.value){ itemArray[itemArray.length]=new Array(townArray[i][1],townArray[i][2]); } } } for(i = objTown.options.length ; i >= 0 ; i--){ objTown.options[i] = null; } objTown.options[0] = new Option("请选地区"); objTown.options[0].value = ""; if(itemArray != null){ for(i = 0 ; i < itemArray.length; i++){ objTown.options[i+1] = new Option(itemArray[i][1]); if(itemArray[i][0] != null){ objTown.options[i].value = itemArray[i][0]; } } } } </script> <body> <table width="99%" border="0" align="center" style="border-bottom:1px solid #cccccc"> <tr> <td width="10"><select name="areaid" id="areaid" onChange="setTown('areaid','townid')"> <option value="">请选市县</option> <option value="1">杭州</option> <option value="2">湖州</option> <option value="3">温州</option> </select> </td> <td width="10"><select name="townid" id="townid"> <option value="">请选地区</option> </select> </td> </tr> </table> </body></html>
大概思路就是:当你选择省份的下拉框时,调用它的onchange事件,在查询对应的数据,邦定到城市下拉框上面去。选择城市,在改变区域的时一样的思路。
http://download.csdn.net/source/2565784