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>
    
  • 相关阅读:
    构建之法阅读笔记03
    周进度条
    周活动总结表
    电脑桌面美化
    如何让自己进步,去做成一件事
    后台网站
    laravel RBAC权限管理学习
    laravle定时任务
    django第一次简单讲解使用
    css3网页的淡入淡出效果
  • 原文地址:https://www.cnblogs.com/klvchen/p/10364333.html
Copyright © 2011-2022 走看看