• Javascript-省市级联效果


     1 <!DOCTYPE html>
     2 
     3 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
     4 <head>
     5     <meta charset="utf-8" />
     6     <title></title>
     7 </head>
     8 <body>
     9     <style type="text/css">
    10         .cascade { float: left;  120px; height: 30px; }
    11         .cascade select {  100%; height: 100%; }
    12     </style>
    13 
    14     <div class="cascade">
    15         <select id="province" onchange="change();">
    16             <option>--请选择省份--</option>
    17         </select>
    18     </div>
    19 
    20     <div class="cascade">
    21         <select id="city">
    22             <option>--请选择市--</option>
    23         </select>
    24     </div>
    25 
    26     <script type="text/javascript">
    27         //首先建立一个你需要省,和它对应的市的数组,如下:
    28         var cityList = new Array();
    29         cityList['北京市'] = ['朝阳区', '东城区', '西城区', '海淀区', '宣武区', '丰台区', '怀柔', '延庆', '房山'];
    30         cityList['上海市'] = ['宝山区', '长宁区', '丰贤区', '虹口区', '黄浦区', '青浦区', '南汇区', '徐汇区', '卢湾区'];
    31         cityList['广州省'] = ['广州市', '惠州市', '汕头市', '珠海市', '佛山市', '中山市', '东莞市'];
    32         cityList['深圳市'] = ['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'];
    33         cityList['重庆市'] = ['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'];
    34         cityList['天津市'] = ['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'];
    35         cityList['江苏省'] = ['南京市', '苏州市', '无锡市'];
    36         cityList['浙江省'] = ['杭州市', '宁波市', '温州市'];
    37         cityList['四川省'] = ['四川省', '成都市'];
    38         cityList['海南省'] = ['海口市'];
    39         cityList['福建省'] = ['福州市', '厦门市', '泉州市', '漳州市'];
    40         cityList['山东省'] = ['济南市', '青岛市', '烟台市'];
    41         cityList['江西省'] = ['江西省', '南昌市'];
    42         cityList['广西省'] = ['柳州市', '南宁市'];
    43         cityList['安徽省'] = ['安徽省', '合肥市'];
    44         cityList['河北省'] = ['邯郸市', '石家庄市'];
    45         cityList['河南省'] = ['郑州市', '洛阳市'];
    46         cityList['湖北省'] = ['武汉市', '宜昌市'];
    47         cityList['湖南省'] = ['湖南省', '长沙市'];
    48         cityList['陕西省'] = ['陕西省', '西安市'];
    49         cityList['山西省'] = ['山西省', '太原市'];
    50         cityList['黑龙江省'] = ['黑龙江省', '哈尔滨市'];
    51         cityList['其他'] = ['其他'];
    52 
    53         /**科普小知识
    54           *Option(text,value)  返回包含下拉列表框中的所有选项的一个数组,text==选项文本值;value==文本值
    55           *add(new,old)  用于向<select>中添加一个<option>标签,
    56                          new表示新添加到old之前的Option对象,
    57                          如果old为null,那则直接添加到<select>所有选项的末尾
    58           *for(in)  循环遍历对象的属性  ,例:for(var i in cityList)
    59                     这里的i==cityList的属性,就是省份名称
    60                     例:for (var j in city[i])
    61                     这里的j==cityList[i]的属性,cityList中下表为i的属性的属性,就是每个城市的index(下标)
    62         **/
    63 
    64         //然后写一个方法把这一大长串的数组给他调到你需要的地方去
    65         function change() {
    66             var pVal = document.getElementById("province").value; //获取省份列表中的值
    67             var c = document.getElementById("city"); //获取城市列表
    68             c.options.length = 0; //清楚当前城市列表中的值
    69             for (var i in cityList) { //循环遍历cityList的属性
    70                 if (i == pVal) { //判断当i等于省份列表中的值时;
    71                     for (var j in cityList[i]) { //循环遍历cityList[i]的属性
    72                         c.add(new Option(cityList[i][j], cityList[i][j]), null)
    73                         //城市列表的末尾增加一个<option>选项,text:cityList[i][j],value:cityList[i][j]
    74                     }
    75                     break;
    76                 }
    77             }
    78         }
    79 
    80         function allCity() {
    81             var p = document.getElementById("province"); //获取省份列表
    82             for (var i in cityList) { //循环遍历cityList的属性
    83                 p.add(new Option(i, i), null);
    84                 //省份列表的末尾增加一个<option>选项,text:i,value:i
    85             }
    86         }
    87         window.onload = allCity;
    88 
    89 
    90     </script>
    91 
    92 
    93 
    94 
    95 </body>
    96 </html>
  • 相关阅读:
    十道海量数据处理面试题与十个方法大总结[转]
    Velocity常用语法详解
    你选择哪一种方式创建线程?
    通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手
    由浅入深的理解网络编程【转】
    [转载]OSI七层模型详解
    简单谈谈数据库索引
    【HBase】 常用命令
    【HBase】知识小结+HMaster选举、故障恢复、读写流程
    【HBase】HBase架构中各种组件的作用
  • 原文地址:https://www.cnblogs.com/leona-d/p/5853443.html
Copyright © 2020-2023  润新知