老师帮忙看看,优化一下

来源:7-8 编程练习

认真太累

2019-10-21 22:21:58

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
<title>Document</title>
</head>
<script type="text/javascript">
function address(){
    /*请在此补充代码*/    
    var pro=document.getElementById("pro");
    var city=document.getElementById("city");
    var proArray=["北京市","天津市","河北省","河南省"];
    var cityArray=["朝阳区","西城区","西青区","武清区","石家庄","邯郸市","郑州市","开封市"];
    for(var i=0;i<proArray.length;i++){
     selectAdd(pro,proArray[i],proArray[i]);
    }
    for(var i=0;i<cityArray.length;i++){
     selectAdd(city,cityArray[i],cityArray[i]);
    }
}
function selectAdd(obj,name,value){
/*请在此补充代码*/  
obj.options.add(new Option(name,value));
}
function linkage(){
/*请在此补充代码*/  
var pro=document.getElementById("pro");
    var city=document.getElementById("city");
    var proArray=["北京市","天津市","河北省","河南省"];
    var cityArray=["朝阳区","西城区","西青区","武清区","石家庄","邯郸市","郑州市","开封市"];
    city.options.length=0;
    if(pro.value == proArray[0]){
     selectAdd(city,cityArray[0],cityArray[0]);
     selectAdd(city,cityArray[1],cityArray[1]);
    }else if(pro.value == proArray[1]){
     selectAdd(city,cityArray[2],cityArray[2]);
     selectAdd(city,cityArray[3],cityArray[3]);
    }else if(pro.value == proArray[2]){
     selectAdd(city,cityArray[4],cityArray[4]);
     selectAdd(city,cityArray[5],cityArray[5]);
    }else{
     selectAdd(city,cityArray[6],cityArray[6]);
     selectAdd(city,cityArray[7],cityArray[7]);
    }
}
</script>
<body onload="address();linkage()">
<form>
省份:<select name="pro" id="pro" onchange="linkage()"></select>
<!--  请在此补充代码 -->
市/区:<select name="city" id="city" onchange="linkage()"></select>
<!--  请在此补充代码 -->
</form>
</body>
</html>


写回答

1回答

好帮手慕小尤

2019-10-22

同学你好,可以选择省份,但无法选择市/区,建议同学去除掉在市/区的select标签上绑定change事件。修改后代码如下:

http://img.mukewang.com/climg/5dae6f73099a303608200174.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 9666 问题

查看课程