纯JS实现中国行政区域上下联动选择地址

一、实现目的:

如标题所述,通过JS来实现地址的选取,上一篇博客介绍的方式是通过java读取txt资源文件来实现地址的选择,通过ajax方式访问服务器实现省市区联动。此篇中将介绍如何使用JS实现相同功能。

相比上一篇的那种方式,这种方式在选择地址的时候不用跟服务器交互,效率更高些。

二、资源文件

要实现地址选取当然也需要存放着区域的资源文件。相关JS文件(region_select.js)的下载地址(网盘):https://yunpan.cn/cqLRBjRw45EzZ  提取码:bb2a

三、代码实现

1. 前台页面;在JSP上使用简单html标签,然后引入相关资源文件即可。

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>中国行政区域联动选择</title>
 6     </head>
 7     <style>
 8         .areainput1{width: auto; margin-right: 5px;}
 9         body div{margin-top: 10px;margin-left: 5px;}
10     </style>
11     <body>
12         <form action="save.action" method="post">
13             <div id="div_province">
14                 <select name="add_p" id="add_p" class="areainput" value="" ></select>
15                 <select name="add_c" id="add_c" class="areainput" value="" ></select>
16                 <select name="add_a" id="add_a" class="areainput" value=""></select>
17             </div>
18             <div><input type="submit" value="提交"/></div>
19         </form>
20
21         <script charset="utf-8" src="js/region_select.js"></script>
22         <script type="text/javascript">
23             new PCAS(‘add_p‘,‘add_c‘,‘add_a‘ ,‘天津市‘,‘天津市‘,‘河东区‘); //这是初始化
24             //如果数据库里已经存了某个地址,PCAS方法的后面三个参数可以用JSTL标签输出即可
25         </script>
26     </body>
27 </html>

页面效果如下图所示:

2. 后台Action接收参数(以使用了strut2框架为例)

 1 public class ThirdpartyConfigAction extends BaseAction{
 2     private String add_p;
 3     private String add_c;
 4     private String add_a;
 5
 6     /*
 7      * get/set方法此处省略...
 8      */
 9
10     //当页面提交后,strut会自动将成员变量复制,页面上选中的省、市、区就会存到对应变量里面
11     public String save(){
12
13         //调用DAO方法,保存数据
14     }
15 }

三、总结

这种实现方式就特别简单,具体JS是怎么实现的可以不用管它,学会使用即可,有时间和兴趣可以自己研究,此为实际工作中使用到的,为方便以后项目中再次用到故记录下来,以便以后查阅。

other:

这里推荐一个编辑器HBuilder,写html/jsp很方便,样式JS方法都有提示,挺好用的。

时间: 2024-11-03 05:27:32

纯JS实现中国行政区域上下联动选择地址的相关文章

纯JS实现的3D标签云,不依赖任何第三方库,支持移动页面

<span style="font-family: Arial, Helvetica, sans-serif;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></span> <html xmlns="

纯js全选、多选

使用纯js来写一个模拟购物车的全选和多选功能. 思路: 1.需要给每一个input设置点击事件 2.全选就是把所有的checkbox设置为true 3.取消一个不全选,就是判断是否全部的checkbox都被选了 代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head&

Highcharts纯js图表库,以后可以跟客户说,你跟阿里云ECS用的图表库是同款

Highcharts是一款纯javascript编写的图表库,能够很简便的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达18种不同类型的图表,可以满足常用的Web图表需求 ! 近来维护我的阿里云服务器,进入后台偶然发现阿里云管理后台数据图表用的也是Highcharts,刚好正需要WEB端展示数据的东西,研究哈… Highcharts官网:http://www.highcharts.com Highcharts中文站:ht

[分享黑科技]纯js突破localstorage存储上线,远程抓取图片,并转码base64保存本地,最终实现整个网站所有静态资源离线到用户手机效果却不依赖浏览器的缓存机制,单页应用最新黑科技

好久没有写博客了,想到2年前答应要放出源代码的也没放出来,最近终于有空先把纯js实现无限空间大小的本地存储的功能开源了,项目地址https://github.com/xueduany/localstore,demo见http://xueduany.github.io/localstore/,下面给大家简单说说大概原理,具体细节和异常处理后面有机会在单独说 先说下突破本地localStorage的原理,官方原话是这么说的http://www.w3.org/TR/2013/PR-webstorage

轻量级 web 文件上传组件,纯js,html5、html4智能适配,支持上传进度显示(IE10+、标准浏览器)

老早就注册了博客园帐号,昨天才发现,连博客都没开,Github也是一样,深觉惭愧,赶紧潜个水压压惊`(*∩_∩*)′ 言归正传.大概许多人都会用到文件上传的功能,上传的库貌似也不少,比如(jQuery File Uploader.FineUploader.Uploadify.Baidu Web Uploader 等等),功能都很强大,代码量一般也较大.当时心想,就这么个小功能,杀鸡焉用牛刀,用库的话还得熟悉它的用法,有的需要引入额外的库,纯Flash的不考虑,还是动手造个轮子得了,至少造过之后能

菜单栏展开和收起效果(纯js)

2014年6月25日 15:36:29 需要关注的是: 1.用cookie保存用户当前点击的菜单项,不打扰后端代码 2.通过数学计算得到要显示和隐藏的div 3.点击事件是动态绑定到a标签上的,因此当dom加载完后,再执行js,也就是写在onload里 HTML如下: 1 <h3 class="titleH3" id="101">aaaa</h3> 2 <div class="subNav" id="1&q

从QQ网站中提取的纯JS省市区三级联动

http://www.cnblogs.com/zjfree/p/3269864.html 今天收到园友信息,想问我要原来写的一个 < 纯JS省市区三级联动 >文章中最新的省市区数据. 那个是老早以前搞的.记得数据是从数据库中提取生成的.一时也找不到当时的数据库了. 我发现在 http://ip.qq.com/ 的网站中有QQ自己的JS省市区三级联动.所以研究了一下.他的界面如下: 何不直接使用的数据呢? 惊喜的是QQ是使用引用外部JS来实现三级联动的.JS如下:http://ip.qq.com

【情人节礼物】纯js脚本打造精美3D玫瑰

情人节就要来临了,这是用代码做出的玫瑰花,这才是程序员送给女友的最好情人节礼物...(提示:在不同浏览器下观看效果.速度会有很大的不同) 代码如下: 1 <!doctype html> 2 3 <html> 4 5 <head> 6 7 <title>Love</title> 8 9 <meta charset="utf-8" /> 10 11 <!--[if IE]> 12 13 <script

支持移动触摸设备的纯js元素拖放插件

Dragula是一款支持移动触摸屏设备的元素拖放纯js插件.这个元素拖放插件使用简单,浏览器兼容性好,能够实现通过鼠标或在移动设备中通过手指来拖动DOM元素的位置.它的特点有: 设置非常简单 没有外部依赖 可以自动对数据进行排序 被移动项带有半透明的视觉效果 支持移动触摸设备 兼容性好,支持IE7+的所有现代浏览器 效果演示:http://www.htmleaf.com/Demo/201504171695.html 下载地址:http://www.htmleaf.com/jQuery/Layou