java 异步实现省市联动

1.

省份:<select id="provinceSelect"></select>
城市:<select id="citySelect"></select>

 2.get,post请求都可

	public String findProvinces(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		List<Province> list=dao.findProvinces();
		String jsonString=JSONArray.fromObject(list).toString();
		response.getWriter().write(jsonString);
		return null;
		
	}
	public String findCitysbyPid(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String pId=request.getParameter("pId");
		int provinceId=Integer.parseInt(pId);
		List<City> list=dao.findCitysByPId(provinceId);
		String jsonString=JSONArray.fromObject(list).toString();
		response.getWriter().write(jsonString);
		return null;
	}

  3.

  function initProvinceSelect()
  {	 
	  $.getJSON("<c:url value='ProvinceCityServlet'/>",{"method":"findProvinces"},function(data){
//另一种遍历方式  还有each方式遍历 但在这里不常用   常用在遍历jquery元素集合上
	for(var i = 0; i < data.length; i++){
	  $("#provinceSelect").append("<option value='"+data[i].pid+"'>"+data[i].name+"</option>")
	}
		  bindCitySelectChange();//注意绑定事件的顺序  总是放在依赖控件加载完后面 因为是异步加载
		  
		  //初始化   很重要 一般是想不到的
		  $("#provinceSelect").change();
	  });
  }

  4.

  function bindCitySelectChange()
  {
	  $("#provinceSelect").change(function(){
		  var pId=$(this).val();//获取select选中项  很重要
		  $("#citySelect").empty();
		  //post get都行
		  $.post("<c:url value='ProvinceCityServlet'/>",{"method":"findCitysbyPid","pId":pId},function(data){
			  for(var key in data)
			  {
			  		$("#citySelect").append("<option>"+data[key].name+"</option>");
			  }
			  
		  },"json");
	  });
  }

  

转载于:https://www.cnblogs.com/lt123/p/7208926.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值