纯前端实现—省市联动

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯前端实现—省市联动相关的知识,希望对你有一定的参考价值。

实现效果:

省市联动

源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>省市联动</title>
</head>
<body>

<select name="province" id="province" onchange="changeCity()">   <!--使用改变下拉框onchange实现-->
    <option value="0">请选择</option>
    <option value="1">湖北省</option>
    <option value="2">湖南省</option>
    <option value="3">广东省</option>
</select>

<select name="city" id="city">
    <option value="0">请选择</option>
</select>

<script>
    // 创建一个二维的数组,用来存储各个省份对应的城市
    var cities = new Array();
    cities[0] = new Array("武汉市","黄冈市");
    cities[1] = new Array("长沙市","湘潭市","株洲市");
    cities[2] = new Array("广州市","珠海市","深圳市");

    function changeCity() {
        var pro = document.getElementById("province");
        var city = document.getElementById("city");
        // 获取你点击的省的value
        var val = pro.value;
        val = val - 1;
        // 清空城市下拉框里面的城市
        city.options.length = 1;      //因为每次选新的省份,上次选的省份的城市也会出现,所以新添之前清空即可
        // 遍历所有城市
        for(var i=0;i<cities.length;i++){
            // 匹配省份对应的城市
            if(val == i){
                // 遍历用户选择的省份的城市        <option value="3">广东省</option>这个里面的文本内容就称为文本节点。
                for(var j=0;j<cities[i].length;j++){
                    // 创建城市的文本节点
                    var text = document.createTextNode(cities[i][j]);
                    // 创建元素节点
                    var opt = document.createElement("option");
                    // 将城市的文本节点添加到option元素节点里面
                    opt.appendChild(text) ;      //在option标签里添加一个子节点,子节点里放文本
                    // 将添加了文本内容的option标签放在上面城市下拉框里面
                    city.appendChild(opt);       //在城市下拉框里添加子节点,里面放option标签
                }
            }
        }
    }
</script>
</body>
</html>

👇🏻可通过点击下面——>关注本人运营 公众号👇🏻

【可以公众号里私聊并标明来自CSDN,会拉你进入技术交流群(群内涉及各个领域大佬级人物,任何问题都可讨论~)--->互相学习&&共同进步(非诚勿扰)】

以上是关于纯前端实现—省市联动的主要内容,如果未能解决你的问题,请参考以下文章

纯JS实现省市区三级联动

c# 求WPF省市区三级联动代码,是从xml中得到省市区数据后添加到三个下拉列表。

29_用js实现一个省市级联效果

省市区三级联动

uniapp使用picker做省市区联动

c# 做省市县联动