老师帮我看看

来源:7-8 编程练习

慕粉251

2020-08-21 16:52:55

我的市区里面怎么总是不变

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="index.js"></script>
</head>
<body onload="address()">
    <form>
         省份:
        <!--  请在此补充代码 -->
        <select name="one" id="one" onchange="change()"></select>
         市/区:
         <!--  请在此补充代码 -->
         <select name="two" id="two"></select>
    </form>
</body>
</html>

---------------------------------------------

function address(){
    var one = document.getElementById("one");
    var two = document.getElementById("two");
    var sheng = ["北京市","天津市","河北市","河南市"];
    var shi= ["朝阳区","西城区","石家庄","邯郸市","西青区","武清区","郑州市","开封市"];
    selectAdd(one,sheng,sheng);
    selectAdd(two,shi,shi);
    change();
}

function selectAdd(obj,name,value){
    for (var i in name) {
        obj.options.add(new Option(name[i],value));
    }
}

function change(){
    var one = document.getElementById("one");
    var two = document.getElementById("two");
    var n=one.value;
    var m;
    if(n == "北京市"){
        m=["朝阳区","西城区"];
    }else if (n == "天津市") {
        m=["西青区","武清区"];
    }else if (n == "河北市") {
        m=["石家庄","邯郸市"];
    }else{
        m=["郑州市","开封市"];
    }
    two.options.length=0;
    selectAdd(two,m,m);
}

写回答

1回答

好帮手慕阿园

2020-08-21

同学你好,同学在new Option(name[i],value[i]))中的value少写了[i],所以导致只显示郑州和开封,如下

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

同学添加后再试试

祝学习愉快

0

0 学习 · 16556 问题

查看课程