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. gethostbyname() -- 用域名或主机名获取IP地址

    #include <netdb.h>    #include <sys/socket.h> struct hostent *gethostbyname(const char * ...

  2. solr4.x设置默认查询字段

    1.如果需要同时在title和content中进行查询,可以添加如下字段: <field name="title_content" type="textComple ...

  3. SQL 多个表之间联合查询

    非常少用join,这次学学,并备忘两篇文章! 转自:http://hcx-2008.javaeye.com/blog/285661 连接查询 通过连接运算符能够实现多个表查询.连接是关系数据库模型的主 ...

  4. EF的两种延迟加载

    EF的两种延迟加载 EF的延迟加载一: 在一次查询以后得到temp,然后在temp上直接进行查询得到temp2,我们调用temp2的时候,是直接为temp生成sql脚本的,没有生成temp的脚本,也就 ...

  5. Random Teams

    n participants of the competition were split into m teams in some manner so that each team has at le ...

  6. c++,为什么要引入虚拟继承

      虚拟基类是为解决多重继承而出现的.   以下面的一个例子为例: #include <iostream.h> #include <memory.h> class CA { i ...

  7. Linux下安装配置词典GoldenDict

    GoldenDict   apt-get install goldendict 安装完成以后,需要自己手动加入字典,增加在线翻译网址(例如,有道,金山等),点击 编辑--dictionaries  完 ...

  8. hadoop部署、启动全套过程

    Hadoop是Apache基金会的开源项目,为开发者提供了一个分布式系统的基础架构,用户可以在不了解分布式系统的底层细节的情况下开发分布式的应用,充分利用集群的强大功能,实现高速运算和存储.Hadoo ...

  9. OpenGL教程之新手上路

    Jeff Molofee(NeHe)的OpenGL教程- 新手上路 译者的话:NeHe的教程一共同拥有30多课,内容翔实,而且不断更新 .国内的站点实在应该向他们学习.令人吃惊的是,NeHe提供的例程 ...

  10. 黑马程序猿_Objective C 类与协议

    <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>.& ...