返回信息流新手求教,看下这个程序哪里不对,就是一个省份下拉框选定后另一个下拉框自己出来城市的名称
<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>
这是一条镜像帖。来源:北邮人论坛 / java / #15572同步于 2010/8/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
Javascript实现两个下拉框的联动
gaoshoupei
2010/8/30镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
document.Cityname.city.options[i].innerText = city_hubei[i];
把value改成innerText.value是实际值(比如id).innerText,也就是你<option value="">和</option>中间可以填写的内容,才是显示的文字.
JS的问题还是去www版吧。。
【 在 gaoshoupei (Inter) 的大作中提到: 】
: 新手求教,看下这个程序哪里不对,就是一个省份下拉框选定后另一个下拉框自己出来城市的名称
: <script>
: var pro = new Array('Hubei','Hunan',"jiangxi");
: ...................
不是innerText 貌似是text 已验证。
【 在 Adun 的大作中提到: 】
: document.Cityname.city.options[i].innerText = city_hubei[i];
: 把value改成innerText.value是实际值(比如id).innerText,也就是你<option value="">和</option>中间可以填写的内容,才是显示的文字.
【 在 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>
亲,你这个有bug啊,一直换的话那就一直加啊,city那个下拉框就越来越长,在每个 var obj = document.getElementById("city"); 后面加上一句obj.length=0;就好了,清空之前的选项
亲,你说的很对。赞一个
【 在 qii 的大作中提到: 】
: 亲,你这个有bug啊,一直换的话那就一直加啊,city那个下拉框就越来越长,在每个 var obj = document.getElementById("city"); 后面加上一句obj.length=0;就好了,清空之前的选项