zoukankan      html  css  js  c++  java
  • 一个简单的三级联动

    一个简单的三级联动。

    <div class="editInput">
            <select id="province"><option>选择省</option></select>
            <select id="city"><option>选择市</option></select>
            <select id="area"><option>选择区</option></select>
    </div>

    同时引入了一个city.js的文件,这是省市列表。就是数组,也可以假装我们请求到的数据吧。里面的格式是这样的:

    两个特别大的数组,哈哈哈

    我就直接贴出来js文件了。

    //select本地联动
        var pro_select = document.getElementById("province");
        var city_select = document.getElementById("city");
        var area_select = document.getElementById("area");
        
    
        //加载省份
        for(var i in province){
            var opt = document.createElement("option");
            opt.innerText = province[i].name;
            opt.setAttribute("value", province[i].id);
            pro_select.appendChild(opt);
        }
        
        //给省份添加change事件,选择省份,获取城市
        pro_select.onchange = function(){
            //获取省份ID
            var proid = pro_select.value;
    
            //先清除原来的城市数据
            city_select.innerHTML = "<option>选择市</option>";
            area_select.innerHTML = "<option>选择区</option>";
    
            //根据省份id获取 城市列表(遍历省份去匹配)
            for(var i in province){
                if(province[i].id == proid){
                    var citys = province[i].city;
                    //遍历城市列表
                    for(var j in citys){
                        var opt = document.createElement("option");
                        opt.innerText = citys[j].name;
                        opt.setAttribute("value", citys[j].id);
                        city_select.appendChild(opt);
                    }
                }
            }
        }
    
    
        //给城市添加change事件,选择城市,获取区县
        city_select.onchange = function(){
            //获取城市ID
            var cityid = city_select.value;
            //先清除原来的城市数据
            area_select.innerHTML = "<option>选择区</option>";
            //根据城市ID获取区县列表
            for(var i in area){
                if(area[i].pid == cityid){
                    var opt = document.createElement("option");
                    opt.innerText = area[i].name;
                    opt.setAttribute("value", area[i].id);
                    area_select.appendChild(opt);
                }
            }
        }

    结果:

  • 相关阅读:
    ASP.NET CORE 使用 EF CORE访问数据库
    asp.net core连接sqlserver
    angular2+typescript在asp.net MVC Web项目上的实现
    leaflet在地图上加载本地图片
    AngularJs调用NET MVC 控制器中的函数进行后台操作
    AngularJs 的ng-include指令的使用
    redis持久化和分布式实现
    sqlserver事务隔离
    ASP.NET MVC 实现伪静态
    .NET下集中实现AOP编程的框架
  • 原文地址:https://www.cnblogs.com/xiuber/p/7728065.html
Copyright © 2011-2022 走看看