zoukankan      html  css  js  c++  java
  • js实现城市二级联动列表

      这个是一个同事写的,我看着有用,就cv下来了.

    程序功能主要逻辑是:

    1.当一级标签市显示默认状态 '-请选择-'时,二级标签要隐藏

    2.一级标签选中城市时,二级标签显示在页面,并列出响应市区

    3.当一级标签选回默认状态时,二级标签隐藏

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>城市二级联动列表</title>
    <meta charset="utf-8" />
    <style>
        .hide{ display: none; }
    </style>
    
    
    </head>
    <body>
        <select name="provs">
            <option>—请选择—</option><!--0-->
            <option>北京市</option><!--1-->
            <option>天津市</option>
            <option>河北省</option>
        </select>
        
        <select name="cities" class="hide">
        </select>
      <script>
        /*实现“省”和“市”的级联下拉列表*/
        var cities=[
          [{"name":'东城区',"value":101},
           {"name":'西城区',"value":102},
           {"name":'海淀区',"value":103},
           {"name":'朝阳区',"value":104}],//0
          [{"name":'河东区',"value":201},
           {"name":'河西区',"value":202},
           {"name":'南开区',"value":303}],
          [{"name":'石家庄市',"value":301},
           {"name":'廊坊市',"value":302},
           {"name":'保定市',"value":303},
           {"name":'唐山市',"value":304},
           {"name":'秦皇岛市',"value":304}]
        ];
        //查找两个select
      var selProvs=
        document.getElementsByName(
          "provs"
        )[0];
      var selCts=
        document.getElementsByName(
          "cities"
        )[0];
      //为selProvs绑定选中项改变事件
      selProvs.onchange=function(){
        //获得当前select选中项的下标
        var i=this.selectedIndex;
        if(i>0){
          //获得cities数组中i-1位置的子数组
          var cts=cities[i-1];
          //清空selCts的内容:
          selCts.innerHTML="";
          //创建文档片段
          var frag=
           document.createDocumentFragment();
          //创建一个option,内容为-请选择-,追加到selCts下
          var opt=
            document.createElement("option");
          opt.innerHTML="-请选择-";
          frag.appendChild(opt);
          //遍历cts中每个城市
          for(var i=0;i<cts.length;i++){
            //创建一个option,设置其内容为当前城市的name属性,设置其value为当前城市的value属性,追加到selCts中
            var opt=
              document.createElement("option");
            //cts[i]:
            // {"name":'东城区',"value":101}
            opt.innerHTML=cts[i]["name"];
            opt.value=cts[i]["value"];
            frag.appendChild(opt);
          }
          //将frag整体追加到selCts中
          selCts.appendChild(frag);
          //清除selCts的class
          selCts.className="";
        }else
          selCts.className="hide";
      }
    </script>
    </body>
    </html>

      

  • 相关阅读:
    streamsets 集成 cratedb 测试
    streamsets k8s 部署试用
    streamsets rest api 转换 graphql
    StreamSets sdc rpc 测试
    StreamSets 相关文章
    StreamSets 多线程 Pipelines
    StreamSets SDC RPC Pipelines说明
    StreamSets 管理 SDC Edge上的pipeline
    StreamSets 部署 Pipelines 到 SDC Edge
    StreamSets 设计Edge pipeline
  • 原文地址:https://www.cnblogs.com/web-fusheng/p/6735670.html
Copyright © 2011-2022 走看看