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. AsyncTask总结(经典,附带源码)

    一.整体工程图 二.MainActivity.java package com.jltxgcy.asynctaskdemo; import android.app.Activity; import a ...

  2. JAVA多态学习3

    这一节我们来学习抽象类 抽象类–深入讨论 抽象类是java中一个比較重要的类. 1.用abstract关键字来修饰一个类时.这个类就是抽象类. 2.用abstract关键字来修饰一个方法时,这种方法就 ...

  3. 消息对话框(MessageBox)用法介绍

    在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox ...

  4. PHP - 递归函数

    /** * factorial($num) 计算阶乘 * @param string $num * @return string $total */ function factorial($num) ...

  5. longest incresing sequence

    动态规划基本题目,longest incresing sequence,找出序列中的最长递增子序列: 例如给出序列{8,3,5,2,4,9,7,11}, 其中最长递增子序列为{3,5,9,11}或{3 ...

  6. wireshark删除filters记录

  7. Andorid时间控件和日期控件

      

  8. Python笔记之面向对象

    1.类和对象 #create a class class fruit: def say(self): print "hello, python" if __name__ == &q ...

  9. extjs_04_grid(弹出窗口&amp;行编辑器 CRUD数据)

    1.弹出窗口(添加.删除) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWRhbV93enM=/font/5a6L5L2T/fontsize/400/f ...

  10. 用DELPHI的RTTI实现数据集的简单对象化

    在<强大的DELPHI RTTI--兼谈需要了解多种开发语言>一文中,我说了一下我用DELPHI的RTTI实现了数据集的简单对象化.本文将详细介绍一下我的实现方法.     首先从一个简单 ...