代码默认选择就是北京市,如果我直接去选市区就不会触发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()方法,设置市区的值。参考代码如下:

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

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

0

0 学习 · 16556 问题

查看课程