jsp代码

<script type="text/javascript">
$(function() {
initProvinces();
});
/**
* 获取省列表
*/
function initProvinces() {
$('#province').empty();
$.ajax({
type : "POST",
url : basePath + "district/getProvinces.do",
success : function(data) {
$.each(data, function(i, it) {
$("<option value='" + it.id + "' />"
+ it.name + "<br>").click(function() {
initCities(it.id);
}).appendTo($('#province'));
});
}
});
}
/**
* 获取市列表
*/
function initCities(provinceID) {
$('#city').empty();
$.ajax({
type : "POST",
url : basePath + "district/getCities.do?province=" + provinceID,
success : function(data) {
$.each(data, function(i, it) {
$("<option value='" + it.id + "' />"
+ it.name + "<br>").click(function() {
initCounties(it.id);
}).appendTo($('#province'));
});
}
});
}
/**
* 获取区县列表
*/
function initCounties(cityID) {
$('#county').empty();
$.ajax({
type : "POST",
url : basePath + "district/getCounties.do?city=" + cityID,
success : function(data) {
$.each(data, function(i, it) {
$("<option value='" + it.id + "' />"
+ it.name + "<br>")
.appendTo($('#province'));
});
}
});
}
//……
</script>
<body>
选择地区:
<select id='province'><option>---省---</option></select>
<select id='city'><option>---市---</option></select>
<select id='county'><option>---区---</option></select>
</body>
spring MVC 代码: @Controller
@RequestMapping(value = "/district")
public class districtController {
@Resource
private DistrictService districtService;
/**
* 获取省列表
* @return
* @throws Exception
*/
@RequestMapping(value = "getProvinces")
@ResponseBody
public Object getProvinces() throws Exception {
return districtService.getProvinces();
}
/**
* 获取市列表
* @param province
* @return
* @throws Exception
*/
@RequestMapping(value = "getCities")
@ResponseBody
public Object getCities(@RequestParam(value = "province") String province) throws Exception {
return districtService.getCities();
}
// 再往下级的获取方式和getCities方法都相同,所以此处略过
}

3个select。 第一个select的option是写到页面的或者jsp标签。然后给这个select的change绑定事件,让这个事件去加载第二个select的option。同样,给第二个select也绑定一个change事件去加载第三个select的数据。

//绑定事件
$("#select1").live(change,function(){
$.ajax({
url:aaaa,//提交的地址
data:{
select1id:$("#select1").val();
}
type:'post',
datatype:'json',
success:function(return){
$("#select2 option").remove();//清空原来的选项
for(var i=;i<return.length;i++)
{
$("#select2").append("<option val='"+return[i].value+"'> "+return[i].name+"</option>")
}
}
})
})
@requestMapping("/")
@responseBody
public List<City> getCitysByErea(String ereaid,HttpServletRequest request,HttpServletResponse response){
List<City> citys =cityService.getXXX(erarid);
return citys;
}

Spring MVC+JSP实现三级联动的更多相关文章

  1. [Spring MVC] - JSP + Freemarker视图解释器整合

    Spring MVC中如果只使用JSP做视图,可以使用下面这段即可解决: <!-- 视图解释类 --> <bean class="org.springframework.w ...

  2. spring mvc jsp运行不起来的问题

    spring mvc已经处理成让jsp运行,即: <bean class="org.springframework.web.servlet.view.InternalResourceV ...

  3. [Spring MVC] - JSP + Freemarker视图解释器整合(转)

    Spring MVC中如果只使用JSP做视图,可以使用下面这段即可解决: <!-- 视图解释类 --> <bean class="org.springframework.w ...

  4. Spring MVC -- JSP标准标签库(JSTL)

    JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭 ...

  5. ajax+jsp实现三级联动下拉框

    js文件sjld.js  : $(document).ready( function(){ $.ajax({ url:"bindZ", type:"get", ...

  6. 1、spring mvc jsp页面中文乱码

    jsp 页面头部 的page标签中加个 contentType="text/html;charset=utf-8"

  7. 【WEB】初探Spring MVC框架

    Spring MVC框架算是当下比较流行的Java开源框架.但实话实说,做了几年WEB项目,完全没有SpringMVC实战经验,乃至在某些交流场合下被同行严重鄙视“奥特曼”了.“心塞”的同时,只好默默 ...

  8. (八)学习MVC之三级联动

    1.新建项目,MVC选择基本模板 2.新建类:Model/Student.cs,数据库信息有三个实体:分别是年级.班级和学生. using System; using System.Collectio ...

  9. Spring MVC page render时jsp中元素相对路径的解决办法

    前段时间做了用Spring Security实现的登录和访问权限控制的功能,但是page render使用的是InternalResourceResolver,即在spring的servlet配置文件 ...

随机推荐

  1. net异步编程之await

    net异步编程之await 初探asp.net异步编程之await   终于毕业了,也顺利进入一家期望的旅游互联网公司.27号入职.放肆了一个多月没写代码,好方啊. 另外一下观点均主要针对于await ...

  2. Linux下动态库使用

    1. 静态库和动态库的基本概念 静态库,是在可执行程序连接时就已经加入到执行码中,在物理上成为执行程序的一部分:使用静态库编译的程序运行时无需该库文件支持,哪里都可以用, 但是生成的可执行文件较大.动 ...

  3. JVM调优总结(八)-典型配置举例2

    常见配置汇总 堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值.如:为3,表示年轻代与年老代比值为 ...

  4. 基于visual Studio2013解决算法导论之007优先队列(堆实现)

     题目 优先队列 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...

  5. MVC:Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  6. 使用BAT方法结束进程

    @echo off taskkill /f /im GAM.exe taskkill /f /im GCL10.exe http://www.cnblogs.com/FKdelphi/p/501540 ...

  7. log4net使用流程

    前面大致介绍了一下log4net的概述和结构.既然都清楚了,下面我来介绍一下如何使用log4net. 使用流程 1.这里所说的使用流程就是使用log4net.dll,首先要根据你的平台来找出对应的版本 ...

  8. android录音功能的实现

    这个录音实现是我在Bus上看到并下载的,他那个源码不完整,再次把我整理完整的代码贴出,源码地址在这:http://download.csdn.net/detail/chaozhung/5618649 ...

  9. ASP.NET中IsPostBack详解(转载)

    1.IsPostBack介绍Page.IsPostBack是一个标志:当前请求是否第一次打开. 调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者 ...

  10. cocos2d-x游戏开发系列教程-坦克大战游戏关卡选择场景的编写下

    上篇文章写了Paddle类来处理精灵的点击.触摸事件,现在我们在Paddle的基础上 写一个MyPaddle类,来处理上一关.下一关.开始游戏按钮的点击事件. 1.类声明如下: class MyPad ...