zoukankan      html  css  js  c++  java
  • 省市联动

    省市联动

           * 创建一个页面,有两个下拉选择框
           * 在第一个下拉框里面有一个事件 :改变事件 onchange事件
                - 方法add1(this.value);表示当前改变的option里面的value值
           * 创建一个二维数组,存储数据
           * 每个数组中第一个元素是国家名称,后面的元素是国家里面的城市
        

            注意: 

                  1、遍历二维数组
                  2、得到也是一个数组(国家对应关系)

                  3、拿到数组中的第一个值和传递过来的值做比较
                  4、如果相同,获取到第一个值后面的元素
                  5、得到city的select
                  6、添加过去(使用)appendChild方法
                           创建option(三步)

                      由于每次都要向city里面添加option
                      第二次添加,会追加。

                      每次添加之前,判断一下city里面是否有option,如果有,删除

    <body>
    
        <select id="country" onchange="add1(this.value)">
           <!-- this.value  表示当前选择的value的值-->
            <option value="0">--请选择--</option>
            <option value="中国">中国</option>
            <option value="美国">美国</option>
            <option value="德国">德国</option>
            <option value="日本">日本</option>
        </select>
        <select id="cityid">
        
        </select>
      
     </body>
        <script type="text/javascript">
          
          //创建一个数组存储数据
            //二维数组
            var arr = new Array(4);
            arr[0] = ["中国","北京","上海","广州","深圳","青岛"];
            arr[1] = ["美国","华盛顿","底特律","休斯顿","纽约"];
            arr[2] = ["德国","慕尼黑","柏林","法兰克福","狼堡"];
            arr[3] = ["日本","东京","北海道","大阪","广岛","长崎"];
    
            function add1(val){
            
              //alert(val);
    
              /*1.遍历2维数组
                2.得到也是一个数组(国家对于关系)
                3.拿到数组中的第一个值和传递过来的值进行比较
                4.如果相同,获取到第一值后面的元素
                5.得到city的select
                6.添加过去appendChild方法
              
              */
    
    
              /*
                    由于每次都要想city里面添加option
                    第二次添加,追加
                    * 每次添加之前,判断一下city里面是否有option,如果有,删除
                */
    
                //获取city的select
                var city1 = document.getElementById("cityid");
                //得到city里面的option
                var options1 = city1.getElementsByTagName("option");
                //遍历数组
                for(var m=0;m<options1.length;m++) {
                    //得到每一个option
                    var op = options1[m];
                    //删除这个option 通过父节点删除
                    city1.removeChild(op);
                    m--;
                }
    
    
    
    
              //遍历二维数组
              for(var i=0;i<arr.length;i++){
                    //得到二维数组里面的每一个数组
                    var arr1 = arr[i];
                    //得到遍历之后的数组的第一个值
                    var firstvalue = arr1[0];
                    //判断传递过来的值和第一个值是否相同
                    
                        if(firstvalue == val) { //相同
                        //得到第一个值后面的元素
                        //遍历arr1
                          for(var j=1;j<arr1.length;j++) {
                            var value1 = arr1[j]; //得到城市的名称
                            //alert(value1);
                            //创建option
                            var option1 = document.createElement("option");
                            //创建文本
                            var text1 = document.createTextNode(value1);
                            //把文本添加到option1里面
                            option1.appendChild(text1);
                            //添加值到city1里面
                            city1.appendChild(option1);
                    
                        }
                        
                        }
    
              }
            }
    
    
        </script>
  • 相关阅读:
    SysUtils.CompareText的注释
    获取进程列表及相关信息
    基于OpenCV的视频图像组态 (4) :劈裂动画效果
    基于OpenCV的视频图像组态 (3):常见PPT动画1
    基于OpenCV的视频图像组态 (2) :动画总体
    基于OpenCV的视频图像组态 (1) :时钟
    基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统)
    小型便携式交互板安装设计
    小型便携式交互板安装设计
    乂文®便携触摸屏
  • 原文地址:https://www.cnblogs.com/sunli0205/p/6018597.html
Copyright © 2011-2022 走看看