2019-10-29 纯js实现省市联动代码

1.首先定义两个选择框,用id选择器,并添加一个onchange事件

<select id="province" onchange="city()"></select>
<select id="city"></select>

2.编写js代码 ,需要注意的是,由于会在body标签中,添加onload,所以不用担心会在页面加载之前执行。

<script>
    var emp = new Array();     //定义数组存储数据
    emp['湖南']=['长沙','娄底','衡阳'];
    emp['广东']=['深圳','惠州','东莞'];
    emp['湖北']=['武汉','荆州','随州'];
    function province() {     //创建一个函数
        var proElt = document.getElementById("province");    //获取省的对象元素
        for(var i in emp) {    //使用for  in  将数组中的数据取出
            var option = document.createElement("option");  //创建元素
            option.text = i;      //将数组中的数据填入创建的元素中
            proElt.options.add(option);  //将元素添加显示
        }
    }

    function city() {
        var cityElt = document.getElementById("city");           //获取城市的对象元素
        cityElt.options.length = 0;   //清除列表项
        var currentDep = document.getElementById("province").value;   //获取选择的省份
        for(var index in emp[currentDep]){      //for in 循环取出数据
            var option = document.createElement("option");   //创建元素
            option.text = emp[currentDep][index];      //index代表的是元素的下标,根据下标填入元素中
            cityElt.options.add(option);
        }
    }
</script>

3.body需要绑定onload,确保在页面加载完毕之后执行

<body onload="province(),city()">

</body>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 7,385评论 0 7
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,805评论 1 32
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,867评论 1 11
  • 22、JQ的基础语法、核心原理和项目实战 jQ的版本和下载 jQuery版本 1.x:兼容IE6-8,是目前PC端...
    萌妹撒阅读 5,694评论 0 0
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 12,069评论 2 19