zoukankan      html  css  js  c++  java
  • 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>
    
  • 相关阅读:
    LINUX 蓝牙耳机的配置方法
    Android_0.9 蓝牙栈bluez使用方法
    G1 安装 Linux Debian system
    Linux下基于Bluez4.x的蓝牙耳机配置
    【转】ARM平台上蓝牙协议栈Bluez的移植使用和配置
    Debian下编译安装驱动模块
    nginx多虚拟主机配置 Leone
    nginx以unixdomainsocket方式连接fastcgi(php) Leone
    Nginx多站点虚拟主机实现单独启动停止phpfpm、单独控制权限设置 Leone
    开启Apache2.2的deflate和expires模块来提升网页浏览速度 Leone
  • 原文地址:https://www.cnblogs.com/klvchen/p/10364333.html
Copyright © 2011-2022 走看看