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. Gym - 100570B :ShortestPath Query(SPFA及其优化)

    题意:给定N点M边的有向图,每条边有距离和颜色,一条有效路径上不能有相邻的边颜色相同.现在给定起点S,多次讯问S到点X的最短有效距离. TLE思路:用二维状态dis(u,c)表示起点到u,最后一条边的 ...

  2. @@cursor_rows变量解析

    刚刚看了@@curosr_rows这个全局变量,发现这个变量挺有意思.要懂得这个变量的意义,基本上牵扯到cursor一些比较容易忽视的内容. @@cursor_rows是用来记录当前游标的数量,也就从 ...

  3. bzoj 3171: [Tjoi2013]循环格 最小费用最大流

    题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=3171 题解: 首先我们很容易发现一个结论: 出现完美循环当且仅当所有点的出入度均为1 所 ...

  4. BZOJ2733:[HNOI2012]永无乡

    浅谈线段树合并:https://www.cnblogs.com/AKMer/p/10251001.html 题目传送门:https://lydsy.com/JudgeOnline/problem.ph ...

  5. Navicat生成数据库结构同步SQL

    作为一个苦逼的技术男,在做开发的时候经常会遇见程序版本升级,数据库结构变化.我们需要一个快捷的方式让客户尽快从旧版本数据库结构更新至新版本数据库结构.如果每做一次改动我们就记录一下当然是好事,但是万一 ...

  6. java基础知识(5)---继承

    继 承:(面向对象特征之一)好处:1:提高了代码的复用性.2:让类与类之间产生了关系,提供了另一个特征多态的前提. 父类的由来:其实是由多个类不断向上抽取共性内容而来的.java中对于继承,java只 ...

  7. hibernate 数据关联一对一

    第一种一对一 person和card,card的id即作为主键,又作为外键  // 各村对方的一个对象 public class Person { private Integer id; privat ...

  8. Asp.net Core学习笔记

    之前记在github上的,现在搬运过来 变化还是很大的,感觉和Nodejs有点类似,比如中间件的使用 ,努力学习ing... 优点 不依赖IIS 开源和跨平台 中间件支持 性能优化 无所不在的依赖注入 ...

  9. 菜鸟学Nhibernate 之路---(1)

    首先说一下我为什么要学这个Nhibernate,现在在公司做项目后台的逻辑层都是用动软生成的简单三层,搞来搞去都是这些东西,代码冗余量很大,每个类方法基本上都一样,真是纯正的码农,虽然后来我也尝试使用 ...

  10. hive 集群初探,查询比较

    在slave3安装MySQL作为hive 的matastore [root@slave3 hadoop]# yum search mysql [root@slave3 hadoop]# yum ins ...