用js写出在第一个下拉列表中选择一个省,后面第二个下拉列表就会出现前面省对应的市,用js怎样写

在第一个下拉列表中选择一个省,后面第二个下拉列表就会出现前面省对应的市,用js怎样写

<!DOCTYPE html>

<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        var city = new Array();
        city["广东省"] = ["广州市", "深圳市", "茂名市", "珠海市", "湛江市"];
        city["广西省"] = ["玉林市", "白色市", "桂林市"];
        city["湖南省"] = ["长沙市", "岳阳市", "湘潭市"];
        city["海南省"] = ["三亚市", "三沙市", "海口市"];

         var qu=new Array();
         qu["广州市"]=["黄浦区","越秀区","番禺区"];
         qu["玉林市"]=["玉林一区","玉林二区","玉林三区"];
         qu["长沙市"]=["长沙一区","长沙二区","长沙三区"];
         qu["深圳市"]=["龙华区","福田区","宝安区"];
        function sheng() {
            var sheng = document.getElementById("sheng");
            for(var i in city) {
                sheng.add(new Option(i, i), null);
            }
        }
        window.onload = sheng;
        function shi() {
            var shi = document.getElementById("shi");
            var sheng = document.getElementById("sheng").value;
            shi.options.length = 0;
            for(var i in city[sheng]) {
                shi.add(new Option(city[sheng][i], city[sheng][i]), null);
            }
        }
        function que(){
            var q=document.getElementById("q");
            var shi=document.getElementById("shi").value;
            q.options.length=0;
            for(var i in qu[shi]){
                q.add(new Option(qu[shi][i],qu[shi][i]),null);
            }
        }
    </script>
</head>

<body>
    <select id="sheng" onchange="shi()">

    </select>
    <select id="shi" onchange="que()">

    </select>
    <select id="q"></select>
</body>

</html

根据前面的省的信息,决定后面的下拉列表绑定的数据信息,
前面做一个判断,每个省都对应相应的市,选择省后,更具省,加载后面的市
前面用change事件触发,后面的回掉函数(参数,为前面的省,执行这个下拉列表的赋值)

首先你得有省市的数据,然后按照一定的格式,例如json类型的,存储在js文件中;省市字段的规则要有一定的关联,譬如省的里面有个key字段,靠这个字段是可以和该省对应的市联系起来的。这只是一个思想,你可以用几个省市自己玩一下,然后在网上下载相应的Demo。

大概是这样子,慢慢琢磨