省市区三级联动下拉选框---具体功能实现
2014-04-10 16:43
561 查看
如图:
注: 此为从数据库中查询的省市区数据, 如果需要不涉及后台的JS实现省市区三级联动, 可查看:
从腾讯网站中提取的纯JS省市区三级联动: http://blog.csdn.net/hjun01/article/details/38084977
html部分:
js部分:
省市区通过异步查询数据库获得. 其中,DISTRICT_ID为省/市/区的id,PARENT_ID为省/市/区的父id。例如:区的父id就是市的id,市的父id就是省的id。
struts配置文件:
DistrictAction.java:
对应Ibatis的映射文件内容:
注: 此为从数据库中查询的省市区数据, 如果需要不涉及后台的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>
相关文章推荐
- 由ajax,js,xml,php实现的三级联动省市县下拉功能
- php jquery ajax json 全国省市区三级联动下拉列表 简单实现
- AJAX和WebService实现省市县三级联动具体代码
- php jquery ajax json 全国省市区三级联动下拉列表 简单实现
- 原生JavaScript实现的简单省市县三级联动功能示例
- php jquery ajax json 全国省市区三级联动下拉列表 简单实现
- 原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
- Swift - 省市县三级联动功能的实现(使用UIPickerView选择框)
- JS和Ajax 实现三级联动的下拉选择
- jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
- AJAX省市区三级联动下拉列表实现 JAVA开发
- 使用jquery 匿名内部类实现 下拉列表三级联动
- 润乾报表三级下拉数据集联动实现
- 三层架构+ajax实现无刷新省市县三级联动
- Ajax实现省市县三级联动
- javascript实现省市区三级联动下拉框菜单
- 用jquery写的json省市县三级联动下拉
- 类似省市联动的查询功能实现