ajax的省份城市下拉联动

基于XML,以POST方式,完成省份-城市二级下拉联动

数据库 mysql,表:tab_province,tab_city

SSM项目,使用注解开发

jsp页面ajaxJquery

<script>
function getCity(){
	var provinceid = $("#provinceid").val();
	$.ajax({
		method:"post",
		url : "${pageContext.request.contextPath}/queryCity.do", 
		data:"provinceid="+provinceid,
		success : function(data){
			//首先往城市下拉框放入选项之前把城市下拉框清空,
			var citySelect=$("#city").empty();
			citySelect.append("<option value=''>--请选择--</option>");
			//然后往城市下拉框放入数据
			for(var i=0;i<data.length;i++)
			{
				citySelect.append("<option value="+data[i].id+">"+data[i].city+"</option>");
			}
		}
	});
} 
</script>

jsp页面的省份城市下拉框

     <select name="provinceid" class="text_cray" id="provinceid" onchange="getCity()">
		<c:forEach items="${provinces}" var="p">
		<c:choose>
			<c:when test="${user.city.province.provinceid==p.provinceid}">
				<option value="${p.provinceid}" selected>${p.province}</option>
			</c:when>
			<c:otherwise>
				<option value="${p.provinceid}">${p.province}</option>
			</c:otherwise>
		</c:choose>
		</c:forEach>
	</select>
    <select name="city" class="text_cray" id="city">
		<c:forEach items="${cities}" var="c">
		<c:choose>
			<c:when test="${user.city.id==c.id}">
				<option value="${c.id}" selected>${c.city}</option>
			</c:when>
			<c:otherwise>
				<option value="${c.id}" selected>${c.city}</option>
			</c:otherwise>
		</c:choose>
		</c:forEach>
	</select>
	

controller层代码

@RequestMapping("login.do")
	public ModelAndView Login(User u)
	{
		System.out.println(u.getUsername());
		//创建session作用域
		HttpSession session = getSession(); 
		//创建视图对象
		ModelAndView mav=new ModelAndView();
		//调用service层的登录方法,返回一个User对象
		User user=userService.login(u);
		if (user!=null) {
			// ④所有的户籍省份信息
			List<Province> provinces = userService.queryAllProvince();
			// ⑤对应用户所在户籍省份的户籍城市信息
			List<City> cities = userService.queryCityById(user.getCity().getProvince().getProvinceid());
			//将数据传入页面
			session.setAttribute("user", user);		
			session.setAttribute("provinces", provinces);
			session.setAttribute("cities", cities);
			//设置返回页面
			mav.setViewName(INDEX_VIEW);
		}else{
			//如果没有数据返回登录界面
			mav.addObject("error","账号或者密码错误");
			mav.setViewName(LOGIN_VIEW);
		}

		return mav;
	}
	
根据省份查询城市
@RequestMapping("queryCity.do")
	@ResponseBody
	public List<City> querCity( String provinceid) {
		List<City> cs=userService.queryCityById(provinceid);
	 return cs;
	}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值