省市区三级联动下拉选框---具体功能实现
来源:互联网 发布:java 尚学堂300 编辑:程序博客网 时间:2024/05/22 00:45
如图:
注: 此为从数据库中查询的省市区数据, 如果需要不涉及后台的JS实现省市区三级联动, 可查看:
从腾讯网站中提取的纯JS省市区三级联动: http://blog.csdn.net/hjun01/article/details/38084977
html部分:
<tr><td style="width: 69px; ">所在省市区:</td><td><select id="province" style="width: 90px; "><option value="">--选择省份--</option></select><select id="city" style="width: 90px; "><option value="">--选择城市--</option></select><select id="county" style="width: 90px; "><option value="">--选择地区--</option></select></td></tr>
js部分:
省市区通过异步查询数据库获得. 其中,DISTRICT_ID为省/市/区的id,PARENT_ID为省/市/区的父id。例如:区的父id就是市的id,市的父id就是省的id。
var areaInfo = {};$(function() {// 加载城市$("#province").change(function() {var curProvince = $(this).val();if (curProvince !== "") {areaInfo.loadCity(curProvince);} else {$("#city").empty().append('<option value="">--请选择城市--</option>');$("#county").empty().append('<option value="">--请选择地区--</option>');}});// 加载地区$("#city").change(function() {var curCity = $(this).val(); //if (curCity !== "") {areaInfo.loadCounty(curCity);}});//-----------------------------------------------------------// 加载省份areaInfo.loadProvince = function() {HttpPost("/district/getAreadistrict.do", {level : 1}, function(data) {data = data.data;for ( var i = 0; i < data.length; i++) {$("#province").append('<option value=' + data[i].DISTRICTID + '>'+ data[i].DISTRICTNAME + '</option>');}});};// 加载城市areaInfo.loadCity = function(pid) {$("#city").empty().append('<option value="">--请选择城市--</option>');$("#county").empty().append('<option value="">--请选择地区--</option>');HttpPost("/district/getAreadistrict.do", {level : 2,parentID : pid}, function(data) {data = data.data;for ( var i = 0; i < data.length; i++) {$("#city").append('<option value=' + data[i].DISTRICTID + '>'+ data[i].DISTRICTNAME + '</option>');}});};// 加载地区areaInfo.loadCounty = function(cid) {$("#county").empty().append('<option value="">--请选择地区--</option>');$("#county option[value='']").attr("selected", true);HttpPost("/district/getAreadistrict.do", {level : 3,parentID : cid}, function(data) {data = data.data;for ( var i = 0; i < data.length; i++) {$("#county").append('<option value=' + data[i].DISTRICTID + '>'+ data[i].DISTRICTNAME + '</option>');}});};});
struts配置文件:
<action name="getAreadistrict" method="getAreadistrict" class="back.webapp.action.area.DistrictAction"><result name="success" type="json"><param name="contentType">text/html;charset=UTF-8</param><param name="jsonModel">jsonModelMap</param></result> </action>
DistrictAction.java:
public String getAreadistrict(){String level = this.request.getParameter("level");String parentID = this.request.getParameter("pid");List areadistrictJson =districtService.getAreadistrictJson(level,parentID); HashMap resultMap = new HashMap();resultMap.put("data", areadistrictJson);setJsonModelMap(resultMap);return SUCCESS; }
对应Ibatis的映射文件内容:
<select id="getAreadistrictList" resultType="java.util.HashMap"> <![CDATA[select t.id ,t.district_name ,t.district_code from MG_UC_DISTRICT t ]]> <where>1 = 1<if test="level != null">AND t.district_level = #{level}</if><if test="pid != null">AND t.PARENT_ID = #{pid}</if><if test="pid = null"> AND t.PARENT_ID is null </if> </where></select>
0 0
- 省市区三级联动下拉选框---具体功能实现
- jsp+jquery实现省市区三级联动下拉
- 省市区三级联动菜单实现及三级联动下拉列表框默认值的设置
- JSP省市区三级联动下拉选
- AJAX版省市区三级联动下拉框
- 实现省市区三级联动
- 三级联动 省市区下拉列表
- AJAX省市区三级联动下拉列表实现 JAVA开发
- AJAX省市区三级联动下拉列表实现 JAVA开发
- 前端省市区(县)三级联动下拉框
- js实现省市区三级联动
- js实现省市区三级联动
- javaScript实现省市区三级联动
- jquery实现省市区三级联动
- RecyclerView 实现省市区三级联动
- 省市区 三级联动 js 实现
- 省市区三级联动实现1
- 省市区三级联动实现2
- android Configuration系统设置
- NSInternalInconsistencyException', reason: 'attempt to insert row 0 into section 0, but there are on
- 你好
- NSArray和NSDictionary只能存储对象
- 锁定宝马X6 奔驰MLC概念车首张官图发布
- 省市区三级联动下拉选框---具体功能实现
- View 的Gone和Invisiable(你可能没想过的区别)
- C++primer plus第六版课后编程题答案8.3(正解)
- 深入理解JVM内幕:从基本结构到Java 7新特性
- oracle常用函数
- IOS KVO机制使用的概述
- andorid listview的item 获取不到点击事件
- 集群之LVS(负载均衡)详解
- SSL心脏流血:在心脏中,WEB用户发生了什么?