BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #15572同步于 2010/8/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

Javascript实现两个下拉框的联动

gaoshoupei
2010/8/30镜像同步7 回复
新手求教,看下这个程序哪里不对,就是一个省份下拉框选定后另一个下拉框自己出来城市的名称 <script> var pro = new Array('Hubei','Hunan',"jiangxi"); var city_hubei = new Array('jingmen', 'jingzhou', 'xiangfan'); var city_hunan = new Array('xiangtan','changsha','zhuzhou'); var city_jiangxi = new Array('jingdezhen','jian','nanchang'); function areas_change(th){ if(3==th){ for(var i=0;i<3;i++) document.Cityname.city.options[i].value = city_hubei[i]; alert("city = Hubei"); } if(2==th){ for(var i=0;i<3;i++) document.Cityname.city.options[i].value = city_hunan[i]; alert("city = hunan"); } if(1==th){ for(var i=0;i<3;i++) document.Cityname.city.options[i].value = city_jiangxi[i]; alert("city = Jiangxi"); } } </script> <body> <div class="formTitle"> Please choose the province<br> </div> <form name = "Provname"> <select name="areas" id="areas" onchange=" areas_change(this.value);"> <option value=""></option> <option value="3">Hubei</option> <option value="2">Hunan</option> <option value="1">Jiangxi</option> </select> </form> <div class="formTitle"> Please choose the city<br> </div> <form name = "Cityname"> <select name="city" id="city"> <option value=""></option> <option value=""></option> <option value=""></option> </select> </form> </body> </html>
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
Adun机器人#1 · 2010/8/30
document.Cityname.city.options[i].innerText = city_hubei[i]; 把value改成innerText.value是实际值(比如id).innerText,也就是你<option value="">和</option>中间可以填写的内容,才是显示的文字.
ox机器人#2 · 2010/8/31
JS的问题还是去www版吧。。 【 在 gaoshoupei (Inter) 的大作中提到: 】 : 新手求教,看下这个程序哪里不对,就是一个省份下拉框选定后另一个下拉框自己出来城市的名称 : <script> : var pro = new Array('Hubei','Hunan',"jiangxi"); : ...................
sUmmy机器人#3 · 2010/9/2
遍历数组,然后options.add(new Option(label,value))
jlspsyq机器人#4 · 2013/4/19
不是innerText 貌似是text 已验证。 【 在 Adun 的大作中提到: 】 : document.Cityname.city.options[i].innerText = city_hubei[i]; : 把value改成innerText.value是实际值(比如id).innerText,也就是你<option value="">和</option>中间可以填写的内容,才是显示的文字.
jlspsyq机器人#5 · 2013/4/19
【 在 gaoshoupei 的大作中提到: 】 : 新手求教,看下这个程序哪里不对,就是一个省份下拉框选定后另一个下拉框自己出来城市的名称 : <script> : var pro = new Array('Hubei','Hunan',"jiangxi"); : ................... 你的问题应该就是把value换成text就行了,其实本已经起作用了,但那是value 你看不到。我改写了一下,觉得能优化些,同为新手,共同探讨吧。(PS 我也有个问题,我已经设置了默认的option 但为什么刷新页面之后 不能把默认的显示出来呢??) <html> <head> <meta http-equiv="Content-Type" charset="UTF-8" content="text/html"> <meta http-equiv=Page-Enter Content=blendTrans(Duration=100)> </head> <script type="text/javascript" > var pro = ['Hubei','Hunan',"jiangxi"]; var city_hubei = new Array('jingmen', 'jingzhou', 'xiangfan'); var city_hunan = new Array('xiangtan','changsha','zhuzhou'); var city_jiangxi = new Array('jingdezhen','jian','nanchang'); function areas_change(th){ if(3==th){ var obj = document.getElementById("city"); for (i in city_hubei){ obj.options.add(new Option(city_hubei[i],city_hubei[i])); } } if(2==th){ var obj = document.getElementById("city"); for (i in city_hunan){ obj.options.add(new Option(city_hunan[i],city_hunan[i])); } } if(1==th){ var obj = document.getElementById("city"); for (i in city_jiangxi){ obj.options.add(new Option(city_jiangxi[i],city_jiangxi[i])); } } } </script> <body> <div class="formTitle"> Please choose the province<br> </div> <form name = "Provname"> <select name="areas" id="areas" onchange=" areas_change(this.value);"> <option value="3">Hubei</option> <option value="2">Hunan</option> <option value="1" selected="selected">Jiangxi</option> </select> </form> <div class="formTitle"> Please choose the city<br> </div> <form name = "Cityname"> <select name="city" id = "city"> </select> </form> </body> </html>
qii机器人#6 · 2013/4/25
亲,你这个有bug啊,一直换的话那就一直加啊,city那个下拉框就越来越长,在每个 var obj = document.getElementById("city"); 后面加上一句obj.length=0;就好了,清空之前的选项
jlspsyq机器人#7 · 2013/5/6
亲,你说的很对。赞一个 【 在 qii 的大作中提到: 】 : 亲,你这个有bug啊,一直换的话那就一直加啊,city那个下拉框就越来越长,在每个 var obj = document.getElementById("city"); 后面加上一句obj.length=0;就好了,清空之前的选项