• js 实现二级联动


    onchange 事件

    <body>
        <select id="province" onchange="func1()">
            <option value="shandong">山东</option>
            <option value="hebei">河北</option>
            <option value="beijing">北京</option>
        </select>
    
    </body>
    <script>
        function func1(){
            var pro = document.getElementById("province");
            console.log(pro.value)
        }
    </script>
    
    

    使用字典方式添加数据

    一级数据显示

    <body>
        <select id="province" >
        </select>
    
    </body>
    <script>
        data = {"广东省":["广州","佛山"],"北京":["海淀","廊坊"], "海南省":["三亚","海口"]};
        var pro = document.getElementById("province");
        for (var i in data){
            var option_pro = document.createElement("option");
            option_pro.innerHTML=i;
            pro.appendChild(option_pro);
        }
    </script>
    
    

    二级数据联动 方式一

    <body>
        <select id="province" onchange="func1(this)" >
        </select>
        <select id="city"></select>
    </body>
    <script>
        data = {"广东省":["广州","佛山"],"北京":["海淀","廊坊"], "海南省":["三亚","海口"]};
        var pro  = document.getElementById("province");
        var city = document.getElementById("city");
    
        for (var i in data){
            var option_pro = document.createElement("option");
            option_pro.innerHTML=i;
            pro.appendChild(option_pro);
        }
    
        function func1(self){
            //console.log((self.options[self.selectedIndex]).innerHTML);
            var choice = (self.options[self.selectedIndex]).innerHTML;
    
            var options = city.children;
            for (var k=0; k<options.length; k++){
                city.removeChild(options[k--]);
            }
    
            for (var i in data[choice]){
                var option_city = document.createElement("option");
                option_city.innerHTML = data[choice][i];
                city.appendChild(option_city);
            }
        }
    </script>
    

    二级数据联动 方式二

    <body>
        <select id="province" onchange="func1(this)" >
        </select>
        <select id="city"></select>
    </body>
    <script>
        data = {"广东省":["广州","佛山"],"北京":["海淀","廊坊"], "海南省":["三亚","海口"]};
        var pro  = document.getElementById("province");
        var city = document.getElementById("city");
    
    
        for (var i in data){
            var option_pro = document.createElement("option");
            option_pro.innerHTML=i;
            pro.appendChild(option_pro);
        }
    
    
    
        function func1(self){
            //console.log((self.options[self.selectedIndex]).innerHTML);
            var choice = (self.options[self.selectedIndex]).innerHTML;
    
            city.options.length=0;
    
            for (var i in data[choice]){
                var option_city = document.createElement("option");
                option_city.innerHTML = data[choice][i];
                city.appendChild(option_city);
            }
        }
    </script>
    
  • 相关阅读:
    0180 定时器 之 setInterval() :开启定时器,京东倒计时案例,停止定时器,发送短信倒计时案例
    0179 定时器 之 setTimeout() :开启定时器,5秒后关闭广告案例,停止定时器
    json常用的注解
    Base64 编码与解码详解
    API 交互中怎么做好图片验证码?
    CSS中cursor 鼠标指针光标样式(形状)
    本地数据存储解决方案以及cookie的坑
    base64原理浅析
    Web前端十种常用的技术
    FreeMarker网页静态化
  • 原文地址:https://www.cnblogs.com/klvchen/p/10364333.html
Copyright © 2020-2023  润新知