<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>

<!-- 实现效果:选择省会出现相应的县下拉框,同时市的下拉框改变-->
        <script type="application/javascript">

    //二维数组存放市的信息
            var shi =[["丽水市","杭州市"],["新乡","郑州"]]; 
         //三维数组存放县的信息

   var xianes = [[["云和","景宁"],["桐庐","原阳"]],[["卫辉","下乡"],["中原","二七"]]];
            //所选的省值

    var proIndex = 0;
            function sgc(){
               //获得所选择的省的下拉框值

     var pro = document.getElementById("sheng");
              //获得市的下拉框

    var cit = document.getElementById("shi");
              //将省的value与市的一维数组下标所对应

    proIndex = pro.value-1;

    //清空市下拉框中原有的值
                cit.options.length = 1;
                //通过for循环往下拉框中添加市的信息
                for(var i = 0;i < shi[proIndex].length;i++){
                    var op = document.createElement("option");
                    var citName = document.createTextNode(shi[proIndex][i]);
                    op.value = i;
                    op.appendChild(citName);
                    cit.appendChild(op);                    
                }            
            }

   //市的值改变后改变县的值
            function sic(){
                var are = document.getElementById("xian");
                var cit = document.getElementById("shi");
                are.options.length = 1;

    //通过proIndex获得所选的省的值作为县的数组的一维数组下标,通过cit.value作为县数组的二维数组下标,遍历获得数组值
                for(var i = 0;i<xianes[proIndex][cit.value].length;i++){
                    var op = document.createElement("option");
                    var areName = document.createTextNode(xianes[proIndex][cit.value][i]);
                    op.value = i;
                    op.appendChild(areName);
                    are.appendChild(op);
                }
            }
        </script>

  //onchange():控件的value值改变后调用方法
        <select id = "sheng" onchange = "sgc();">
            <option>----省份---</option>
            <option value = "1">浙江省</option>
            <option value = "2">河南省</option>
        </select>
        <select id = "shi" onchange="sic();">
            <option>---市区---</option>
        </select>
        <select id = "xian" >
            <option>---县区---</option>
        </select>
    </body>
</html>

三级级联(js实现)的更多相关文章

  1. KendoUi中KendoDropDownList控件的使用——三级级联模块的实现

    1. 应用需求 在权限系统开发中除了以上数据表关系的设计之外.比較麻烦的地方是级联模块在页面的展示,因为设计中最多是控制到三级,因此三级级联模块的展示.编辑等页面操作是须要解决的问题,这里採用Kend ...

  2. 对jQuery ajax三级级联的简单研究

    最近写程序的时候经常遇到使用ajax获取数据的问题,刚好昨天遇到ajax写三级级联问题,自己写了一个简单的级联.对于服务端获取数据的就不多写了,客户端的ajax发送请求我在这里详细说一下,因为我也没专 ...

  3. zTree实现地市县三级级联DAO接口实现

    zTree实现地市县三级级联DAO接口实现 ProvinceDaoImpl.java: /** * @Title:ProvinceDaoImpl.java * @Package:com.gwtjs.d ...

  4. zTree实现地市县三级级联报错(一)

    zTree实现地市县三级级联 1.详细报错例如以下: java.lang.IllegalStateException: Failed to load ApplicationContext at org ...

  5. 关于时间的操作(JavaScript版)——年月日三级级联(默认依次显示请选择年、请选择月和请选择日)

    这篇博客和前一篇博客基本同样,仅仅是显示的默认值不同: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN&quo ...

  6. zTree实现地市县三级级联Action类

    zTree实现地市县三级级联Action类 ProvinceAction.java: /** * @Title:ProvinceAction.java * @Package:com.gwtjs.str ...

  7. zTree实现地市县三级级联Service接口測试

    zTree实现地市县三级级联Service接口測试 ProvinceServiceTest.java: /** * @Title:ProvinceServiceTest.java * @Package ...

  8. 三级级联查询省份名称和编码(保证名称不重复)的SQL语句

    三级级联查询省份名称和编码(保证名称不重复)的SQL语句 1.省份.地市和县级数据库表 2.SQL语句 SELECT DISTINCT t.`province_name`,t.`province_co ...

  9. zTree实现地市县三级级联报错(三)

    zTree实现地市县三级级联报错(三) 1.具体报错如下 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] ...

随机推荐

  1. TypeScript从入门到Vue项目迁移

    1. 前言 ES6的普及,大大简化了JavaScript的表达方式 大型项目中,js没有类型检查.表达方式灵活,多人协作代码调试和维护成本高 2. 定义 TypeScript 是 JavaScript ...

  2. AOS and clustering

    原文转载:http://sjakalax.blogspot.com/2010/10/aos-and-clustering.html AOS and clustering   hi,   There s ...

  3. 基于TMS320C6678、FPGA XC5VLX110T的6U CPCI 8路光纤信号处理卡

    基于TMS320C6678.FPGA XC5VLX110T的6U CPCI 8路光纤信号处理卡 1.板卡概述 本板卡由我公司自主研发,基于CPCI架构,符合CPCI2.0标准,采用两片TI DSP T ...

  4. 关于memset

    memset填充的是一个字节,比方下面的一段程序: #include <cstdio> #include <cstring> using namespace std; ]; i ...

  5. linux运维、架构之路-MySQL主从复制

    一.MySQL主从复制原理图  MySQL主从复制原理:实现主从复制原理是三个线程完成的,主的I/O线程,备的I/O线程与SQL线程 1.首先主库db01需要开启binlog.授权一个replicat ...

  6. kafka集群安装及基本命令行使用

    集群安装 环境介绍 本次安装kafka集群利用的是自带的zooKeeper,其实最好是把kafka和zooKeeper部署在不同的节点上,这样更高可用. 三个节点: kafka1:192.168.56 ...

  7. [HG]奋斗赛G

    T1 题目描述 安娜斯塔西娅喜欢去乌日扬迪安中央公园散步. 但她对简单的散步不感兴趣,于是她开始收集公园里的鹅卵石. 一开始,她决定收集所有她能在公园里找到的鹅卵石. 她只有两个口袋. 她能在每个口袋 ...

  8. 基于ELK Stack7.1.0构建多用户安全认证日志系统

    ​ 配置tls加密通信及身份验证,主要目的是为了确保集群数据安全.在es早期版本,安全认证相关功能都属于商业付费服务,一般普通公司如果集群部署在内网,基本上就忽略了这些安全认证,当然也可以通过Ngin ...

  9. 【Java】Java调用第三方接口

    Get请求与Http请求 https://www.w3school.com.cn/tags/html_ref_httpmethods.asp HttpClient HTTP 协议可能是现在 Inter ...

  10. Nginx的启动、停止与重启---linux

    一.选定安装文件目录 可以选择任何目录 cd /usr/local/src 二.安装PCRE库 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcr ...