纯JS实现中国行政区域上下联动选择地址
一、实现目的:
如标题所述,通过JS来实现地址的选取,上一篇博客介绍的方式是通过java读取txt资源文件来实现地址的选择,通过ajax方式访问服务器实现省市区联动。此篇中将介绍如何使用JS实现相同功能。
相比上一篇的那种方式,这种方式在选择地址的时候不用跟服务器交互,效率更高些。
二、资源文件
要实现地址选取当然也需要存放着区域的资源文件。相关JS文件(region_select.js)的下载地址(网盘):https://yunpan.cn/cqLRBjRw45EzZ 提取码:bb2a
三、代码实现
1. 前台页面;在JSP上使用简单html标签,然后引入相关资源文件即可。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>中国行政区域联动选择</title>
</head>
<style>
.areainput1{width: auto; margin-right: 5px;}
body div{margin-top: 10px;margin-left: 5px;}
</style>
<body>
<form action="save.action" method="post">
<div id="div_province">
<select name="add_p" id="add_p" class="areainput" value="" ></select>
<select name="add_c" id="add_c" class="areainput" value="" ></select>
<select name="add_a" id="add_a" class="areainput" value=""></select>
</div>
<div><input type="submit" value="提交"/></div>
</form> <script charset="utf-8" src="js/region_select.js"></script>
<script type="text/javascript">
new PCAS('add_p','add_c','add_a' ,'天津市','天津市','河东区'); //这是初始化
//如果数据库里已经存了某个地址,PCAS方法的后面三个参数可以用JSTL标签输出即可
</script>
</body>
</html>
页面效果如下图所示:
2. 后台Action接收参数(以使用了strut2框架为例)
public class ThirdpartyConfigAction extends BaseAction{
private String add_p;
private String add_c;
private String add_a; /*
* get/set方法此处省略...
*/ //当页面提交后,strut会自动将成员变量复制,页面上选中的省、市、区就会存到对应变量里面
public String save(){ //调用DAO方法,保存数据
}
}
三、总结
这种实现方式就特别简单,具体JS是怎么实现的可以不用管它,学会使用即可,有时间和兴趣可以自己研究,此为实际工作中使用到的,为方便以后项目中再次用到故记录下来,以便以后查阅。
other:
这里推荐一个编辑器HBuilder,写html/jsp很方便,样式JS方法都有提示,挺好用的。
纯JS实现中国行政区域上下联动选择地址的更多相关文章
- 纯js异步无刷新请求(只支持IE)
纯js异步无刷新请求 下载地址:http://pan.baidu.com/s/1slakL1F 所以因为非IE浏览器都禁止跨域请求,所以以只支持IE. <HTML> <!-- 乱码( ...
- 纯js异步无刷新请求(只支持IE)【原】
纯js异步无刷新请求 下载地址:http://pan.baidu.com/s/1slakL1F 所以因为非IE浏览器都禁止跨域请求,所以以只支持IE. <HTML> <!-- 乱码( ...
- F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)
Web纯JS流程设计器无需编程,完全是通过鼠标拖.拉.拽的方式来完成,支持串行.并行.分支.异或分支.M取N路分支.会签.聚合.多重聚合.退回.传阅.转交,都可以非常方便快捷地实现,管理员 ...
- java解析中国行政区域并在页面显示实现动态逐级筛选
一.实现目标 首先会有一个存放中国行政区域数据的一个txt文件,用java读取并解析出来,并在页面上通过下拉框的形式展示出来.实现效果如下图,当选择完省份后,在选择该省份下的城市,然后在选择该城市下的 ...
- 纯JS Web在线可拖拽的流程设计器
F2工作流引擎之-纯JS Web在线可拖拽的流程设计器 Web纯JS流程设计器无需编程,完全是通过鼠标拖.拉.拽的方式来完成,支持串行.并行.分支.异或分支.M取N路分支.会签.聚合.多重聚合.退回. ...
- [分享黑科技]纯js突破localstorage存储上线,远程抓取图片,并转码base64保存本地,最终实现整个网站所有静态资源离线到用户手机效果却不依赖浏览器的缓存机制,单页应用最新黑科技
好久没有写博客了,想到2年前答应要放出源代码的也没放出来,最近终于有空先把纯js实现无限空间大小的本地存储的功能开源了,项目地址https://github.com/xueduany/localsto ...
- baguetteBox.js响应式画廊插件(纯JS)
baguetteBox.js baguetteBox.js 是一个简单和易于使用lightbox纯JavaScript脚本,拥有图像放大缩小并带有相应的CSS3过度,并能在触摸屏等设备上完美展示. D ...
- 纯js分页代码(简洁实用)
纯js写的分页代码. 复制代码代码如下: //每页显示字数 PageSize=5000; //分页模式 flag=2;//1:根据字数自动分页 2:根据[NextPage]分页 //默认页 start ...
- JavaScript--动态添加元素(纯js书写table并删除数据)
本文是对上一篇博文的扩展,用js书写表格,并添加和删除数据,详细代码解释见代码页. 对于文中使用的script脚本函数,下载地址如下:https://pan.baidu.com/s/13OFnj7nc ...
随机推荐
- peer not authenticated error
问题背景 系统:OS X El Capitan,10.11.2 IDE:Android Studio 2.0 Preview Java:1.8.0_65 Gradle:2.3 clone了代码后,在i ...
- git 远程仓库 轻松创建
很多时候,为了方面管理我们写的代码,我们采用git 远程仓库来进行管理和备份.防止代码被他人篡改或删除.那如何来进行创建远程仓库呢? 1.我们必须有一个远程服务器端,在这里可以把任意一台电脑作为服务器 ...
- 关于android截图的一些方法
这里只记录一些链接,对于我的需求,只需要, public static String createScreenShot(View v) { //测试截屏功能 SimpleD ...
- IOS 中列表的TableView 详解,常用方法整理
一.创建一个列表,不管代码还是nib拖拉,在nib创建的时候,记得加他的二个代理 (UITableViewDelegate UITableViewDataSource) 代码创建的话,需要关联他的代理 ...
- 数据库—SQL语句
下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DEL ...
- python Django教程 之 安装、基本命令、视图与网站
python Django教程 之 安装.基本命令.视图与网站 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 w ...
- Thinkphp源码分析系列(五)–系统钩子实现
Thinkphp的插件机制主要依靠的是Hook.class.php这个类,官方文档中在行为扩展也主要依靠这个类来实现.下面我们来具体看看tp是怎么利用这个类来实现行为扩展的. 首先,行为扩展是什么?有 ...
- 使用 Wireshark 调试 HTTP/2 流量
https://imququ.com/post/http2-traffic-in-wireshark.html
- nodejs+express+jade配置
安装步骤 一.首先可跟着这个网址安装http://jingyan.baidu.com/article/91f5db1b2bb6941c7f05e33c.html,路径可由自己定. 二.同时参考http ...
- 关于C语言里指针的基本概念
C是很强大的一门语言,然而C语言的强大并不是强大在他的语法和“.h”文件,而是指针. 对指针通用的认知都是:指针是指向内存地址的一个变量.对于这句话,我是这么理解的:核心有两点,第一个是“指向内 ...