JS实现省市联动

  1. 编写html文档,创建两个下拉选择框,一个表示省份名,一个表示城市名,用id选择器,添加改变事件。
<select id="province" onchange="fillCity()"></select> //省
<select id="city"></select>// 市
  1. 使用数组存储信息(文字作为数组下标)
var arr = new Array();
        arr["湖南"] = ["常德", "衡阳", "益阳", "株洲","邵阳","岳阳","郴州"];
        arr["广东"] = ["东莞", "深圳", "广州","河源" ];
        arr["湖北"] = ["荆州", "武汉", "随州", "宜昌"];
        arr["吉林"] = ["长春", "辽源", "白化"];
  1. 声明函数initData(),在第一个下拉框填充所有的省。
 function initData(){ // 初始化
            var province = document.getElementById("province"); // 通过id获取到省
            for(var i in arr){ //迭代文字下标
                var  option = document.createElement("option"); // 在select中创建option节点
                option.text  = i;
                option.value = i;
                province.options.add(option);
            }
        }

4.声明函数fillCity(),将在第一个下拉框选择的省对应的市填充到第二个下拉框中。

 function fillCity(){
            var city = document.getElementById("city");
            city.options.length = 0; // 清除列表项
            var provinceDep = document.getElementById("province").value;//获取省名
            for(var  index  in  arr[provinceDep]){
                var option = document.createElement("option"); // 创建节点
                option.text = arr[provinceDep][index];
                option.value = arr[provinceDep][index];
                city.options.add(option);
            }
        }
  1. 最后为body标签加上onload事件并绑定initData()方法和fillCity()方法。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.首先定义两个选择框,用id选择器,并添加一个onchange事件 2.编写js代码 ,需要注意的是,由于会在b...
    可对象不面向我阅读 2,656评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,805评论 1 32
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,763评论 0 17
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 5,222评论 0 2
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,867评论 1 11