• 省市区级联下拉列表的实现


    <!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*/
                    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" onchange="showCitys(this.value)">
                    <option value="-1">-- 请选择 --</option>
                </select>
                <select name="citys" id="citys" onchange="showAreas(this.value)">
                    <option value="">-- 请选择 --</option>
                </select>
                <select name="areas" id="areas" >
                    <option value="">-- 请选择 --</option>
                </select>
            </form>
        </body>
    </html>
  • 相关阅读:
    设计模式之三:Abstract Factory(转)
    设计模式之二:adapter模式(转)
    设计模式之一:设计原则(转)
    双链表操作
    单链表操作
    C#-Activex插件操作指南
    积分源码上线
    換友情鏈接
    企业短信群发
    掉了,全掉了。
  • 原文地址:https://www.cnblogs.com/dabaixiong/p/8066859.html
Copyright © 2020-2023  润新知