博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
省市区级联下拉列表的实现
阅读量:5040 次
发布时间:2019-06-12

本文共 2319 字,大约阅读时间需要 7 分钟。

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="Author" content="猿道教育-Will老师" >
        <meta name="Keywords" content="猿说教育,HTML,CSS,JavaScript、省市区级联下拉列表" >
        <meta name="Description" content="网页的描述信息,简介:省市区级联下拉列表的实现" >
        <title>省市区级联下拉列表</title>
        <style>
            select{                 /*元素选择器,所有的同名标签select*/
                border:1px solid blue;
                /*padding:5px 10px;         上下、左右*/
                border: 1px solid red;      /*后面的优先级高*/
                padding: 5px 10px 6px 7px;
                margin: 20px 25px;
                border-radius:25px;
            }
            .bigSel{                /*类选择器 某个元素class属性值=bigSel*/
                width:280px;
            }
            #provinces{             /*id选择器,id属性值=provinces,优先级>类选择器>元素选择器*/
                border-color:blue;
            }
        </style>
        <script>
            // $是自己定义的一个方法,用于根据id获取元素
            function $(v){
                return document.getElementById(v);
            }
            var p = ['四川','河南','河北','山西','贵州','山东','甘肃'];
            p['四川'] = ['成都','绵阳','攀枝花','德阳','雅安'];
            p['河南'] = ['郑州','洛阳','周口','开封','信阳'];
            p['河北'] = ['保定','石家庄','邢台','唐山','邯郸'];
            p['成都'] = ['金牛区','成华区','武侯区','天府区','郫都区'];
            p['郑州'] = ['金水区','二七区'];
            // 在页面加载的时候讲所有省份添加到provinces的select中
            window.onload = function(){
                // 遍历省份数组,将其中的所有值,构造Option对象添加到省份下拉框中
                for(var i=0; i<p.length; i++){
                    // $是自己定义的一个方法,用于根据id获取元素
                    $("provinces").options.add(new Option(p[i],p[i]));
                }
                // 页面加载的时候,设置默认省份为 四川,城市变换为省会,区取这个城市的第一个区?
                $('provinces').value = "四川";
                showCitys($('provinces').value);
                $('citys').value = $('citys').options[0].value;
                showAreas($('citys').value);
            }
            /*在城市下拉框中显示省份v对应的所有城市*/
            function showCitys(v){
                // 清空城市列表框中原有所有城市
                $("citys").options.length = 0;
                if(!(v<0)){
                    var citys = p[v];       // 拿到这个省份对应的所有城市
                    for(var i= 0; i<citys.length; i++){
                        $("citys").options.add(new Option(citys[i],citys[i]));
                    }
                }
                // 设置地区默认值为第一个区
                showAreas($("citys").value);
            }
            /*在地区下拉框中显示该城市对应的所有区县*/
            function showAreas(v){
                $("areas").options.length = 0;
                if(!(v<0)){
                    // 拿到城市对应的所有区县
                    var areas = p[v];
                    for(var i=0; i<areas.length;i++){
                        $('areas').options.add(new Option(areas[i],areas[i]));
                    }
                }
            }
        </script>
    </head>
    <body>
    <!-- 乱码产生的原因:文件保存时的编码与打开文件时使用的编码不一致
        文件内部设置的编码,与文件保存时的编码不一致
    -->
        <form name="frmProvince">
            <select name="provinces" id="provinces" class="bigSel" οnchange="showCitys(this.value)">
                <option value="-1">-- 请选择 --</option>
            </select>
            <select name="citys" id="citys" οnchange="showAreas(this.value)">
                <option value="">-- 请选择 --</option>
            </select>
            <select name="areas" id="areas" >
                <option value="">-- 请选择 --</option>
            </select>
        </form>
    </body>
</html>

转载于:https://www.cnblogs.com/dabaixiong/p/8066859.html

你可能感兴趣的文章
python中的逻辑操作符
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
C# 启动进程和杀死进程
查看>>
tcp实现交互
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
聊聊、Zookeeper Linux 单服务
查看>>
Linux常用命令总结
查看>>
KRPano动态热点专用素材图50多个,加动态热点使用方法
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>
洛咕 P2480 [SDOI2010]古代猪文
查看>>
js-创建对象的几种方式
查看>>
JDK JRE Java虚拟机的关系
查看>>
2018.11.20
查看>>
word20161215
查看>>