• Javascript 三级联动


    <!DOCTYPE html>
    <html>
    <head>
     <meta charset="utf-8">
     <title>三级联动</title>
    </head>
    <body>


     省<select name="pro" onchange="showCity()">

      <!-- <option value="1">北京</option> -->

     </select>

     市<select name="city" onchange="showArea()">

      <option value="0">请选择</option>

     </select>
     
     区<select name="area">

      <option value="0">请选择</option>

     </select>

     <script type="text/javascript">
      var pros=["请选择","北京","上海","广东","重庆"];

      var citys=[

        ["请选择"],

        ["朝阳区","昌平","东城"],

        ["闸北区","宝山"],

        ["广州","东莞"],

        ["渝北","九龙坡"],

      ];
      var areas=[
       ["请选择"],
       [["大前门","小前门"],["时尚","小鸟","西单"],["门前","门后"]],
       [["大宁","大宁1"],["宝山1","宝山2","宝山3"]],
       [["广州1","广州2"],["东莞1","东莞2"]],
       [["渝北1","渝北2"],["九龙坡1","九龙坡2"]]
      
      
      ]

      

      //取省这个select

      var pro=document.getElementsByName("pro")[0];
      
      //添加省

       for(var i in pros){
       //创建option
       var opt=document.createElement("option");
       //设置option的属性和文本
       opt.value=i;
       opt.innerHTML=pros[i];
       //添加到select中   
       pro.appendChild(opt);
       }

      //省被改变时,更新城市

      function showCity(){
       //先检查事件是否有效

       //alert('sssss');
       //取省这个select
       //var pro=document.getElementsByName("pro")[0];
       var city=document.getElementsByName("city")[0];
       //去掉已有的option,只保留第一个
       //alert(city.options.length);
       city.options.length=1;
          //当前选择的value值   
       //alert(pro.value);
       // 去城市数组中,找对应下标的数组
       var cityData=citys[pro.value]

       for(var i in cityData){
       var opt=document.createElement("option");
       opt.value=parseInt(i)+1;
       opt.innerHTML=cityData[i];
       city.appendChild(opt);
       }
      }
      
      
      //市被改变时,更新区
      function showArea(){
       //alert("aaaa");
       //1.取到这个select
      var city=document.getElementsByName("city")[0];
      var area=document.getElementsByName("area")[0];
      //去掉已有的option,只保留第一个
       //alert(city.options.length);
       area.options.length=1;
      //当前选择的value值 
      //alert(city.value);
      //去区的数组中,找相对应的下标数组
      var areaData=areas[pro.value][city.value-1];
      alert(areaData);
      //alert(city.value);
       for(var i in areaData){
        var opt=document.createElement("option")
        opt.value=parseInt(i)+1;
        opt.innerHTML=areaData[i];
        area.appendChild(opt);
       }
      }
     </script>

     
    </body>
    </html>

  • 相关阅读:
    <img />标签 alt title
    ubuntu中rar与unrar用法详解
    vi及缩进设置
    ubuntu下读取数据库中文乱码解决
    ubuntu下phpstorm无法输入中文的解决办法
    ubuntu下mysqli_connect()显示未定义,mysqli_fetch_all()显示未定义 解决方法
    权限控制
    NULL
    ubuntu下chromium 安装flash player
    手把手教你把Vim改装成一个IDE编程环境(图文)
  • 原文地址:https://www.cnblogs.com/wicub/p/3119554.html
Copyright © 2020-2023  润新知