代码默认选择就是北京市,如果我直接去选市区就不会触发onchange,市区会显示所有的选项怎么处理?
来源:7-8 编程练习
慕设计7678942
2020-07-14 16:01:57
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function address(){
/*请在此补充代码*/
var province=["北京市","天津市","河北省","河南省"];
var cities=["朝阳区","西城区","石家庄","邯郸市","西青区","武清区","郑州市","开封市"];
var pro=document.getElementById("province");
var city=document.getElementById("city");
selectAdd(pro,province,province);
selectAdd(city,cities,cities);
//pro.selectedIndex=1;
}
function selectAdd(obj,name,value){
/*请在此补充代码*/
for(var i=0;i<name.length;i++){
obj.options.add(new Option(name[i],value[i]));
}
}
function selectAddress(){
var pro=document.getElementById("province");
var city=document.getElementById("city");
var p=pro.value;
var ci;
if(p=="北京市"){
ci=["朝阳区","西城区"];
}else if (p=="天津市") {
ci=["西青区","武清区"];
}else if (p=="河北省") {
ci=["石家庄","邯郸市"];
}else{
ci=["郑州市","开封市"];
}
city.options.length=0;
selectAdd(city,ci,ci);
}
</script>
</head>
<body onload="address()">
<form>
<!-- 请在此补充代码 -->
<lable>省份:</lable>
<select name="province" id="province" onchange="selectAddress()"></select>
<lable>市/区:</lable>
<!-- 请在此补充代码 -->
<select name="city" id="city" onchange="selectAddress()"></select>
</form>
</body>
</html>
1回答
好帮手慕阿慧
2020-07-14
同学你好,同学可以在address()方法中调用selectAddress()方法,设置市区的值。参考代码如下:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题