zoukankan      html  css  js  c++  java
  • js三级联动练习(地址填写)

    三级联动

    <body>
    省:<select name="" id="sheng" onChange="addShi(this)"> <!--改变调用-->
        <option value="">请选择</option>
    </select>
    市:<select name="" id="shi" onChange="addQu(this)">
        <option value="">请选择</option>
    </select>
    区:<select name="" id="qu">
        <option value="">请选择</option>
    </select>
    </body>
    
    <script>
        var data = [  ["山东省","江苏省"],
                      [  ["山东省","济南市","青岛市","淄博市"],
                         ["江苏省","南京市","宿迁市"],         ],
                      [  ["淄博市","张店","淄川","博山"],
                         ["济南市","章丘","历城","历下"]       ]  ];
    
        var sheng = document.getElementById('sheng');
        var str = '<option>请选择</option>';
        for(i = 0;i < data[0].length;i++){
            str += '<option>'+data[0][i]+'</option>'
        }
        sheng.innerHTML = str;
        
        function addShi(th){
            shengName=th.value;
            var shi=document.getElementById('shi');
            var str='<option>请选择</option>';
            
            for(i=0;i<data[1].length;i++){
                if(data[1][i][0]==shengName){
                    for(j = 1;j < data[1][i].length;j++){
                        str += '<option>'+data[1][i][j]+'</option>'
                    }
                    break;
                }
            }
            shi.innerHTML=str;
        }
        
        function addQu(th){
            shengName=th.value;
            var qu=document.getElementById('qu');     // 改元素
            var str='<option>请选择</option>';
            
            for(i=0;i<data[2].length;i++){            //改数组
                if(data[2][i][0]==shengName){
                    for(j = 1;j < data[2][i].length;j++){
                        str += '<option>'+data[2][i][j]+'</option>'
                    }
                    break;
                }
            }
            qu.innerHTML=str;                        //改内容
        }
    </script>
    <body>
    省:<select name="" id="sheng">
        <option value="">请选择</option>
    </select>
    市:<select name="" id="shi">
        <option value="">请选择</option>
    </select>
    区:<select name="" id="qu">
        <option value="">请选择</option>
    </select>
    </body>
    </html>
    <script>
        var data2 = [
        [1,"山东省",0],
        [2,"江苏省",0],
        [11,"济南市",1],
        [12,"青岛市",1],
        [13,"淄博市",1],
        [21,"南京市",2],
        [22,"宿迁市",2],
        [131,"张店",13],
        [132,"淄川",13],
        [133,"博山",13],
    ];
        var sheng=null,
            shi=null,
            qu=null;
        
        window.onload=function(){
            init();
            addEvent();
        }
        
        function init(){
            sheng=document.getElementById('sheng');
            shi=document.getElementById('shi');
            qu=document.getElementById('qu');
            /*initSheng()*/
            changeZhi(sheng,0)
        }
        
        function addEvent(){
            sheng.onchange = function(){
                changeZhi(shi,this.value);
            };
            shi.onchange = function(){
                changeZhi(qu,this.value);
            };
        }
        
        function changeZhi(th,code){                    //我是市,我爸是请选择
            var str='<option value="-1">请选择</option>';//value=""的时候 code传入this.value=""
            qu.innerHTML='<option value="-1">请选择</option>'; 
            
            for(i=0;i<data2.length;i++){
                if(data2[i][2]==code){
                    str+='<option value="'+data2[i][0]+'">'+data2[i][1]+'</option>';
                }
            }
            th.innerHTML=str;
        }
    </script>
  • 相关阅读:
    WM11破解版
    安装系统
    linux配置问题
    PAT:1022. Digital Library (30) (部分正确,错最后两个)
    PAT:1023. Have Fun with Numbers (20) AC
    PAT:1081. Rational Sum (20) AC(类似math.h中的sqrt(1.0*n),algorithm的abs()用于取绝对值)
    PAT:1013. Battle Over Cities (25) AC
    conv2的计算过程
    UFLDL Tutorial
    视频深度学习 Deep Learning
  • 原文地址:https://www.cnblogs.com/javscr/p/9719708.html
Copyright © 2011-2022 走看看