jquery json实现省市级级联
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实现省市级级联的更多相关文章
- jquery 的combobox 处理级联
随笔---jquery 的combobox 处理级联 ------------------------html------------- <select id="groupId&quo ...
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
[C#]使用 C# 代码实现拓扑排序 目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. ...
- struts2 + jquery + json 简单的前后台信息交互
ajax 是一种客户端与服务器端异步请求的交互技术.相比同步请求,大大提高了信息交互的速度和效率.是当下非常实用和流行的技术. 这里简单的说明 struts2 + jquery + json 下的 信 ...
- Json 基于jQuery+JSON的省市联动效果
helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery JSON Ajax 省市联动 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...
- JQuery + JSON作为前后台数据交换格式实践
JQuery + JSON作为前后台数据交换 JQuery提供良好的异步加载接口AJAX,可以局部更新页面数据, http://api.jquery.com/category/ajax/ JSON作为 ...
- jQuery: jquery.json.js
http://api.jquery.com/jQuery.parseJSON/ http://www.json.org/json-zh.html http://fineui.codeplex.com/ ...
- struts2+jquery+json集成
以下采用struts2+jquery+json模拟一个案例.当点击提交按钮时会把输入的数据提交到后台,然后从后台获取数据在客户端显示. 效果如下: 接下来为struts2+jquery+json集成步 ...
- jQuery+JSON+jPlayer实现QQ空间音乐查询
演示地址: http://bejson.com/demos/qqmusic/ 代码下载:http://www.jqdemo.com/932.html 查询QQ音乐是很早前就出来的一个接口. 这里使用j ...
- echart+jquery+json统计TP数据
由于工作需要,需要统计交易数据的TP50,TP90,TP95,TP99.采用的前端技术是jquery+json+echart. 一.TP定义(谷歌) Calculating TP is very si ...
随机推荐
- ONVIF协议测试工具 ONVIF Device Test Tool 29 12.12 最新版
ONVIF协议测试工具 ONVIF Device Test Tool 29 12.12 最新版 包含文档和工具,本人亲测,好用! http://download.csdn.net/detail/li_ ...
- APIO2017商旅
传送门(PDF) 题目大意:有$N$个点,$M$条有向边,$K$种物品,在不同的点可以用不同的价格买入或卖出某一种商品. 任意时刻至多持有一种物品,不能在同一个点先买再卖,求收益与长度之比最大的点数$ ...
- poj2395
#include<iostream> #include<cstdio> #include<algorithm> #include<cstdlib> ...
- bzoj 3545: [ONTAK2010]Peaks Kruskal重构树
题目: 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经 ...
- cookie与web Storage
一.cookie 1. http头与cookie cookie是HTTP Cookie的简称.该标准要求: (1)服务器的HTTP响应头包含 Set-Cookie字段 响应头Eg: HTTP/1.1 ...
- OpenStack、CloudStack、Eucalyptus和vCloud Director四大主流云平台怎么选?
软件产品开发公司Altoros Systems的IT基础设施设计师Vadim Truksha在美国<网络世界>上发表一篇文章,详细对比了CloudStack.Eucalyptus.vClo ...
- Python:列表反序和解析
1)列表反序 A.list.reverse():将列表反序: l = [1, 2, 3, 4, 5] print(l.reverse()) -->[5, 4, 3, 2, 1] B.l.[::- ...
- python并发编程之多线程2死锁与递归锁,信号量等
一.死锁现象与递归锁 进程也是有死锁的 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用, 这些永远在互相等待的进程称为死锁进程 如下就是死锁 ...
- GIT 图形化操作指南
Git操作指南(2) -- Git Gui for Windows的建库.克隆(clone).上传(push).下载(pull).合并 关于linux上建库等操作请看文章: http://hi.bai ...
- cocos2dx之tolua++全面分析(二):类注册
tolua被作为库使用时,首先会做大量内部初始化工作: 一.tolua_open是入口点,它创建很多用于管理的内部变量,以下用_G指代全局表,_R指定registry table: 1._R.TOLU ...