<!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. 模拟.net post请求属性

    这两天在做一个nodejs的爬虫项目,需要模拟post请求获得网站数据.遇到2个asp.net的网站,掉到坑里面,调试了好几天.总结一下过程. 一般我们模拟post请求的时候最重要的就是post请求里 ...

  2. referenceQueue用法

    何为referenceQueue 在java的引用体系中,存在着强引用,软引用,虚引用,幽灵引用,这4种引用类型.在正常的使用过程中,我们定义的类型都是强引用的,这种引用类型在回收中,只有当其它对象没 ...

  3. Python中queue消息队列模块

    from queue import Queue from queue import PriorityQueue print("Queue类实现了一个基本的先进先出(FIFO)容器,使用put ...

  4. 09.Linux系统由于不正常关机导致的分区问题

    问题:Error:UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY Give root password for maintenance ------------ ...

  5. 树——binary-tree-postorder-traversal(树的后序遍历)

    问题: Given a binary tree, return the postorder traversal of its nodes' values. For example: Given bin ...

  6. tac 反向显示文件内容

    1.命令功能 tac是cat的反向拼写,功能是反向显示文件内容. 2.语法格式 tac  option  file 3.使用范例 [root@localhost chu]# cat test.txt ...

  7. 【学习】008 Socket网络编程

    课程目标 网络模型 TCP协议与UDP协议区别 Http协议底层实现原理. 什么是网络模型 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度, ...

  8. 树形dp专栏

    前言 自己树形dp太菜了,要重点搞 219D Choosing Capital for Treeland 终于自己做了一道不算那么毒瘤的换根dp 令 \(f[u]\) 表示以 \(u\) 为根,子树内 ...

  9. alert(1) to win 11

  10. [php] phar

    build.php打包www目录: <?php class A{ public $a = 1; } $p = new Phar('test.phar',0,'test.phar'); $p-&g ...