java后台程序:

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.tugou.bean.TBAreaBean;
import com.tugou.controller.BaseController;
import com.tugou.service.AreaService;
import com.tugou.util.StringUtil;

import net.sf.json.JSONObject;

/**
* (省、市、区(县))维护Controller
* @author zhangh
*
*/
@Controller
@RequestMapping("/area")
public class AreaController extends BaseController{

private static final Logger logger = Logger.getLogger(AreaController.class);

@Autowired
private AreaService<TBAreaBean> areaService;

/**
* 查询所有省、市、区
* @param request
* @return
*/
@RequestMapping(value = "queryAreaList", method={RequestMethod.GET,RequestMethod.POST},produces = "text/html;charset=UTF-8")
@ResponseBody
public String queryAreaList(HttpSession session,HttpServletRequest request){
try{
Map<String,Object> map = new HashMap<String,Object>();
String id = request.getParameter("id");
Integer iId = StringUtil.isNullOrBlank(id)?null:Integer.parseInt(id);
map.put("id", iId);
List<TBAreaBean> areatList = areaService.getAreaList(map);

JSONObject jsonObj = new JSONObject();
jsonObj.put("areaList", areatList);

return jsonObj.toString();
}catch(Exception e){
e.printStackTrace();
logger.error("程序错误:"+e.getMessage());
return "0";
}
}
}

js程序:

$(function(){
AreaList(1,0);
$("#province_id").change(function(){
var provinceId=$("#province_id option:selected").val();
AreaList(2,provinceId);
$("#city_id").show();
$("#area_id").hide();
})
$("#city_id").change(function(){
var cityId=$("#city_id option:selected").val();
AreaList(3,cityId);
$("#area_id").show();

})
})

/**
* 获取所有的市级联动
*/
function allArea(type,id){
$.ajax({
type:"post",
url:hostpath+'/area/queryAreaList.html',
data:{'id':id},
success:function(data){
var json = eval("(" + data + ")");
if(type==1){
areaList(json,$("#province_id"));
}else if(type==2){
areaList(json,$("#city_id"));
}else if(type==3){
areaList(json,$("#area_id"));
}
}
});
}

function areaList(json,$city){
var province = "<option value=\"\">请选择</option>";
$.each(json.areaList,function(idx,item){
province += "<option value="+item.id+">"+item.name+"</option>";
});

$city.html(province);
}

html页面:

<dl class="clearfix">
<dt><span>选择所代理的地区:</span>*</dt>
<dd>
<select id="province_id">
<option value="">请选择</option>
</select>
<select id="city_id" style="display: none;">
<option value="">请选择</option>
</select>
<select id="area_id" style="display: none;">
<option value="">请选择</option>
</select>
</dd>
<dd class="warn"><span>不能为空</span></dd>
</dl>

省市县sql脚本:http://files.cnblogs.com/files/flywang/tb_area.zip

jquery json实现省市级级联的更多相关文章

  1. jquery 的combobox 处理级联

    随笔---jquery 的combobox 处理级联 ------------------------html------------- <select id="groupId&quo ...

  2. [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果

    [C#]使用 C# 代码实现拓扑排序   目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. ...

  3. struts2 + jquery + json 简单的前后台信息交互

    ajax 是一种客户端与服务器端异步请求的交互技术.相比同步请求,大大提高了信息交互的速度和效率.是当下非常实用和流行的技术. 这里简单的说明 struts2 + jquery + json 下的 信 ...

  4. Json 基于jQuery+JSON的省市联动效果

    helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery  JSON  Ajax  省市联动     省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...

  5. JQuery + JSON作为前后台数据交换格式实践

    JQuery + JSON作为前后台数据交换 JQuery提供良好的异步加载接口AJAX,可以局部更新页面数据, http://api.jquery.com/category/ajax/ JSON作为 ...

  6. jQuery: jquery.json.js

    http://api.jquery.com/jQuery.parseJSON/ http://www.json.org/json-zh.html http://fineui.codeplex.com/ ...

  7. struts2+jquery+json集成

    以下采用struts2+jquery+json模拟一个案例.当点击提交按钮时会把输入的数据提交到后台,然后从后台获取数据在客户端显示. 效果如下: 接下来为struts2+jquery+json集成步 ...

  8. jQuery+JSON+jPlayer实现QQ空间音乐查询

    演示地址: http://bejson.com/demos/qqmusic/ 代码下载:http://www.jqdemo.com/932.html 查询QQ音乐是很早前就出来的一个接口. 这里使用j ...

  9. echart+jquery+json统计TP数据

    由于工作需要,需要统计交易数据的TP50,TP90,TP95,TP99.采用的前端技术是jquery+json+echart. 一.TP定义(谷歌) Calculating TP is very si ...

随机推荐

  1. 微信非全屏播放设置(仅Iphone)

    由于微信X5内核强制视频全屏,用X5自带内核播放,一般内嵌视频打开播放就会被全屏. ihpone里面可以通过设置 x-webkit-airplay="true" webkit-pl ...

  2. JSTL1.0 知识回顾与总结

    JSTL1.0,由四个定制标志库(core,format,xml和sql) 和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV )组成. 1.基本输出设置操 ...

  3. 每天一个linux命令(13):more命令

    版权声明更新:2017-05-17博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...

  4. BestCoder Round #92 比赛记录

    上午考完试后看到了晚上的BestCoder比赛,全机房都来参加 感觉压力好大啊QAQ,要被虐了. 7:00 比赛开始了,迅速点进了T1 大呼这好水啊!告诉了同桌怎么看中文题面 然后就开始码码码,4分1 ...

  5. mouseout与mouseleave的区别

    1 mouseout:当鼠标指针从元素上移开时,发生 mouseout 事件.该事件大多数时候会与 mouseover 事件一起使用. 2 mouseout与 mouseleave 事件不同,不论鼠标 ...

  6. Python:字典的pop()方法

    pop():移除序列中的一个元素(默认最后一个元素),并且返回该元素的值. 一)移除list的元素,若元素序号超出list,报错:pop index out of range(超出范围的流行指数): ...

  7. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; che

    出现此种错误,我暂时遇到了两次. 1 我的字段的名称和数据库的关键字重合. 上图中的desc是默认降序排列的意思. 2 第二次出现的异常是我在重构代码阶段遇到的一个bug.不过我暂时不能理解,虽然解决 ...

  8. [51nod1270] 数组的最大代价(简单dp)

    解题关键:先由贪心的思想得出任何一个位置只能取1或者a[i],然后dp即可. #include<bits/stdc++.h> using namespace std; typedef lo ...

  9. [原创]Devexpress XtraReports 系列索引

    该系列已经完结...以后如果有高级功能,会再开一个新的系列,该系列是比较基础的报表应用..谢谢大家一直的支持. [原创]Devexpress XtraReports 系列 1 创建静态报表 Demo地 ...

  10. PCL 不同类型的点云之间进行类型转换

    PCL 不同类型的点云之间进行类型转换 可以使用PCL里面现成的函数pcl::copyPointCloud(): #include <pcl/common/impl/io.h> pcl:: ...