SpringMVC,ajax实现省市区三级联动
来源:互联网 发布:搜款网广州网络批发1 编辑:程序博客网 时间:2024/05/21 22:27
SpringMVC,ajax实现省市区三级联动
一、实现思路
1、请求 url:/province , 通过 Model 默认加载省份数据,
2、用change 事件监听province的变换,触发ajax事件,加载城市数据
3、加载区县数据,同理 2
4、数据源以国家统计局数据为基准。 最新县及县以上行政区划代码(截止2016年7月31日) 本人已经整理好2016年7月31日数据,有需要的朋友私信联系。
二、核心 pojo
public class Areas { private String id; //区域id private String parentId;//区域父id private String name;//区域名称 private String code;//区域编号 private String type; // 区域类型(1:国家;2:省份、直辖市;3:地市;4:区县)}
三、jsp 页面代码
<%-- ====== 省市区==== 三级级联 --%> <h1> <select name="province" id="province"> <option>--请选择--</option> <c:forEach var="province" items="${provinceList }"> <option value="${province.id }">${province.name}</option> </c:forEach> </select> <select name="city" id="city"> <option value="">--请选择--</option> </select> <select name="county" id="county"> <option value="">--请选择--</option> </select> </h1>
四、jsp 页面 js 代码
// 1. province change $("#province").change(function(){ var provinceId= $("#province").val(); // 获取选中的值 var provinceName= $("#province").find("option:selected").text();//获取选中的文本内容 //通过 省份 id ,获取省份下面的城市 //1. 清空 原有的 城市和区县内容 $("#city").empty(); $.get("${pageContext.request.contextPath}/cityJson",{"id":provinceId},function(data){ $("#county").empty();//清空城市下面的区县 $("#city").append("<option value=''>"+'--请选择--'+"</option>"); $("#county").append("<option value=''>"+'--请选择--'+"</option>"); $.each(data,function(k,v){ var _ele="<option value='"+v.id+"'>"+v.name+"</option>"; $("#city").append(_ele); }); }) });
// 2. city change$("#city").change(function(){ var cityId=$("#city").val(); var cityName=$("#city").find("option:selected").text(); $.get("${pageContext.request.contextPath}/cityJson",{"id":cityId},function(data){ // 清空 城市下面的区县 $("#county").empty(); $("#county").append("<option value=''>"+'--请选择--'+"</option>"); $.each(data,function(k,v){ var _ele="<option value='"+v.id+"'>"+v.name+"</option>"; $("#county").append(_ele); }); });});
五、初始加载省份数据 url : /province
@RequestMapping(value="/province") public String province(String type,Model model){ if(StringUtils.isBlank(type)){ type="2"; // } List<Area> provinceList = areaService.getAreaListByType(type);//省份 model.addAttribute("provinceList", provinceList); return "/modules/auto"; }
六、根据 provinceId 获取省份下的 cityList 和 根据 cityId 获取 城市下的 countyList
@RequestMapping(value="/cityJson") @ResponseBody public List<Area> cityJson(String id){ List<Area> cityList= areaService.getAreaListByParentId(id); return provinceList; }
七、 简单效果展示
阅读全文
0 0
- SpringMVC,ajax实现省市区三级联动
- ajax省市区三级联动
- ajax省市区三级联动
- php ajax 实现三级省市区联动
- php ajax 实现三级省市区联动
- 使用Ajax+jQuery实现省市区三级联动
- Ajax+mybaits实现省市区三级联动
- jquery ajax实现省市区三级联动
- 实现省市区三级联动
- AJAX省市区三级联动下拉列表实现 JAVA开发
- AJAX省市区三级联动下拉列表实现 JAVA开发
- 中国省市区三级联动实例(AJAX实现)
- PHP+Ajax+Mysql联合实现省市区三级联动
- 使用AJax和JavaScript实现省市区三级联动
- 中国省市区三级联动实例(AJAX实现)
- js实现省市区三级联动
- js实现省市区三级联动
- javaScript实现省市区三级联动
- 三十、安装第三方模块
- iOS开发日志:多屏幕适配
- 学习《如何提升你的能力?给年轻程序猿的几条建议》文章笔记
- 电脑注册多个版本的tomcat为系统服务
- Android页面跳转结束前一个activity
- SpringMVC,ajax实现省市区三级联动
- Android四大组件—ContentProvider
- 二〇一七年十二月十五日 17:01:32
- android_布局
- Yii2.0安全之加密/解密
- java的this关键词
- 文章标题
- todo_mvp_rxjava 简化版本
- Java常见异常总结