城市三联动简单实例

一个简单的demo,方法比较low,仅供参考

  1 <!DOCTYPE html>
  2 <html>
  3
  4     <head>
  5         <meta charset="UTF-8">
  6         <title></title>
  7         <style type="text/css">
  8             * {
  9                 margin: 0;
 10                 padding: 0;
 11             }
 12
 13             ul li {
 14                 list-style-type: none;
 15             }
 16
 17             .wrap {
 18                 display: flex;
 19             }
 20
 21             .one,
 22             .two,
 23             .three {
 24                 width: 100px;
 25                 height: 20px;
 26                 margin-left: 20px;
 27                 border: 1px solid #FF0000;
 28                 position: relative;
 29             }
 30
 31             .show {
 32                 width: 100px;
 33                 height: 200px;
 34                 position: absolute;
 35                 top: 22px;
 36                 border: 1px solid blue;
 37             }
 38
 39             .show ul li {
 40                 border-bottom: 1px solid red;
 41             }
 42
 43             .show ul li:hover {
 44                 background-color: gold;
 45             }
 46
 47             .show {
 48                 display: none;
 49             }
 50         </style>
 51     </head>
 52
 53     <body>
 54         <div class="wrap">
 55             <div class="one">
 56                 <span id="changeclick">请选择省份</span>
 57                 <div class="show">
 58                     <ul id="sheng">
 59
 60                     </ul>
 61                 </div>
 62             </div>
 63             <div class="two">
 64                 <span id="cityclick">请选择城市</span>
 65                 <div class="show">
 66                     <ul id="city">
 67
 68                     </ul>
 69                 </div>
 70             </div>
 71             <div class="three">
 72                 <span id="areaclick">请选择区/县</span>
 73                 <div class="show">
 74                     <ul id="areass">
 75
 76                     </ul>
 77                 </div>
 78             </div>
 79         </div>
 80     </body>
 81     <script type="text/javascript">
 82         var all = [{
 83             name: ‘河南省‘,
 84             citylist: [{
 85                 name: ‘信阳市‘,
 86                 areaslist: [‘新县‘, ‘固始县‘, ‘罗山县‘]
 87             }, {
 88                 name: ‘郑州市‘,
 89                 areaslist: [‘新区‘, ‘高新区‘, ‘二七区‘]
 90             }]
 91         }, {
 92             name: ‘山西省‘,
 93             citylist: [{
 94                 name: ‘大同市‘,
 95                 areaslist: [‘区1‘, ‘区2‘]
 96             }]
 97         }, ];
 98         var changeClick = document.getElementById(‘changeclick‘);
 99         var sheng = document.getElementById(‘sheng‘);
100         var shows = document.getElementsByClassName(‘show‘)[0];
101         var showc = document.getElementsByClassName(‘show‘)[1];
102         var showa = document.getElementsByClassName(‘show‘)[2];
103
104         function shengFun() {
105             var len = all.length;
106             for(var i = 0; i < len; i++) {
107                 sheng.innerHTML += ‘<li>‘ + all[i].name + ‘</li>‘
108             }
109         };
110         shengFun();
111         //设置省的点击事件
112         var n; //保存点击的是哪个城市
113         changeClick.onclick = function() {
114                 shows.style.display = ‘block‘;
115             }
116             //选择哪个省的点击事件
117         var cityClick = document.getElementById(‘cityclick‘);
118         var cityLists = document.getElementById(‘city‘);
119         var lis = sheng.children;
120
121         for(var i = 0; i < lis.length; i++) {
122             lis[i].index = i;
123             lis[i].onclick = function() {
124                 n = this.index;
125                 cityLists.innerHTML = ‘‘;
126                 var city = all[this.index].citylist;
127                 for(var j = 0; j < city.length; j++) {
128                     cityLists.innerHTML += ‘<li>‘ + city[j].name + ‘</li>‘
129                 }
130                 cityClick.onclick = function() {
131                     showc.style.display = ‘block‘;
132                 }
133                 var citys = cityLists.children;
134                 console.log(citys);
135                 //获取县区
136                 var areaClick = document.getElementById(‘areaclick‘);
137                 var areasList = document.getElementById(‘areass‘);
138                 for(var k = 0; k < citys.length; k++) {
139                     citys[k].index = k;
140                     citys[k].onclick = function() {
141                         areasList.innerHTML = ‘‘;
142                         var areasss = all[n].citylist[this.index].areaslist;
143                         console.log(areasss);
144                         for(var m = 0; m < areasss.length; m++) {
145                             areasList.innerHTML += "<li>" + areasss[m] + "</li>";
146                         }
147                     }
148                 }
149                 areaClick.onclick = function() {
150                     showa.style.display = ‘block‘;
151                 }
152
153             }
154         }
155     </script>
156
157 </html>

有些样式没有实现,需要完善

时间: 2024-07-31 16:31:25

城市三联动简单实例的相关文章

省份城市下拉框联动简单实例实现方法

效果如下 //定义字典 Dictionary<string, string> Address = new Dictionary<string, string>(); void loadData() { //这是你要添加的数据 //也可以选择动态添加但是考虑到数据不多不影响性能就这么做了 Address.Add("绵阳", "四川"); Address.Add("成都", "四川"); Address.A

Log4j日志管理的简单实例

大型项目中很多情况下要分析程序的日志信息,如何管理自己的日志信息至关重要.在应用程序中添加日志记录总的来说基于三个目的 , 监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作: 跟踪代码运行时轨迹,作为日后审计的依据: 担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息. 最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类 来封装此类操作,而不是让一系列的打印语句充斥了代码的主体. 这篇文章主

(三)AJAX基本介绍和简单实例03

AJAX基本介绍和简单实例03-----Ajax与数据库的动态应用 初始界面: 选择所有用户后显示的界面: 查询姓名为杜森的客户,结果如下: Demo03.html代码如下: <html> <meta http-equiv="content-type" content="text/html" charset="utf-8"/> <head> <style> body { background:#CC

转: javascript实现全国城市三级联动菜单代码

<html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script LANGUAGE="JavaScript"> function Dsy() { this.Items = {}; } Dsy

javamail发送邮件的简单实例(转)

javamail发送邮件的简单实例 今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题.为了以后使用方便,自己写了段代码,打成jar包,以方便以后使用.呵呵 以下三段代码是我的全部代码,朋友们如果想用,直接复制即可. 第一个类:MailSenderInfo.java package com.util.mail;    /**    * 发送邮件需要使用的基本信息  *author by wangfun http://www.5a520.cn 小说520   */  

AJAX学习整理二之简单实例

做了几个简单的实例,加载txt文本内容.加载xml文件内容,把xml文本内容转换成html表格显示.废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <head>     <title>通过ajax获取文本内容</title>     <meta charset="utf-8">     <scr

【SSH进阶之路】Hiberante3搭建开发环境+简单实例(二)

Hibernate是非常典型的持久层框架,持久化的思想是非常值得我们学习和研究的.这篇博文,我们主要以实例的形式学习Hibernate,不深究Hibernate的思想和原理,否则,一味追求,苦学思想和原理,到最后可能什么也学不会,从实践入手,熟能生巧,思想和原理自然而然领悟. 上篇博文:[SSH进阶之路]Hibernate基本原理,我们介绍了Hibernate的基本概念.Hibernate的核心以及Hibernate的执行原理,可以很好帮助我们认识Hibernate,再看这篇博客之前,请先回顾上

原生ajax调用数据简单实例代码

原生ajax调用数据简单实例代码:由于jQuery的盛行,现在使用较多的是jQuery封装好了的ajax,因为解决了浏览器兼容性问题,这对程序员来说就等于去掉了一个心头大患,但并非原生ajax就销声匿迹,并且本人感觉还是对原生的ajax有所了解的好,下面就是一段ajax数据调用的实例代码,非常的简单,初学者可以参考一下.代码如下:一.兼容浏览器部分: function xmlHttpR() { var xmlhttp; if(window.XMLHttpRequest) { xmlhttp=ne

【转】Android Https服务器端和客户端简单实例

转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 Tomcat 6.0.18(免安装版) Android2.1开发环境(在Eclipse中配置好) 前提条件 JDK环境要使用我们自己安装的,笔者JDK安装目录为D:\Java\jdk1.6.0_22,在Eclipse的Window-preference-installedJREs中,只选用我们自己安