jQuery二级联动

JQuery实现省份城市二级联动

前端代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>二级联动</title>
<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
$(function() {
	//页面加载完成,加载省份数据
	$.getJSON("/ojbk/address.do?id=0",function(data){
		$(data).each(function(index,e) {
			$("#province").append("<option value='"+data[index].id+"'>"+data[index].addrName+"</option>");
		});
	});
	//省份下拉框联动更改
	$("#province").change(function() {
		//自动循环删除之前的数据
		$("#city option:gt(0)").remove();
		if($(this).val()>0){
			$.getJSON("/ojbk/address.do?id="+$(this).val(),function(data){
				$(data).each(function(index,e) {
					$("#city").append("<option value='"+data[index].id+"'>"+data[index].addrName+"</option>");
				});
			});
		}
	});
});
</script>
</head>
<body>
	<!--  
			二级联动效果,其中的第一个下拉框的选项一定是页面加载完成之后就发送请求去查询省份数据
				当第一个下拉框选项被改变时,再发送请求到后台查询选中的该省份下的城市
		-->
	<select id="province">
		<option value="0">请选择省份</option>
	</select>
	<select id="city">
		<option value="0">请选择城市</option>
	</select>
</body>
</html>

后端发送数据代码

package zz.practice.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;

import zz.practice.dao.AddrDao;
import zz.practice.dao.impl.AddrDaoImp;
import zz.practice.domain.Address;

@WebServlet("/address.do")
public class JqueryServlet extends HttpServlet {
	
	private AddrDao aD = new AddrDaoImp();

	/**
	 * 
	 */
	private static final long serialVersionUID = -5837811634156432171L;

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		//处理乱码
		res.setContentType("text/html;charset=utf-8");
		res.setCharacterEncoding("utf-8");
		//接收请求参数
		String fatherId = req.getParameter("id");
		//查询
		List<Address> addr = aD.queryByfatherId(fatherId);
		//转化为JSON
		String jStr = JSON.toJSONString(addr);
		PrintWriter pw = res.getWriter();
		pw.write(jStr);
		pw.flush();
		pw.close();
	}
}

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery省市区二级联动是一种常见的前端技术,用于实现在选择省份后,自动加载对应的城市列表,再根据选择的城市加载对应的区县列表。以下是实现该功能的一般步骤: 1. 创建HTML结构:在HTML中创建省、市、区县的下拉列表框,并为它们添加对应的id或class属性,用于后续的操作。 2. 加载省份数据:通过Ajax请求获取省份数据,可以从后端接口获取或者直接在前端定义一个省份数据数组。 3. 绑定省份数据:将获取到的省份数据绑定到省份下拉列表框中,可以使用jQuery的append()方法动态添加option元素。 4. 监听省份选择事件:使用jQuery的change()方法监听省份下拉列表框的选择事件,当选择了省份后触发相应的事件。 5. 根据选择的省份加载城市数据:根据选择的省份,通过Ajax请求获取对应的城市数据。 6. 绑定城市数据:将获取到的城市数据绑定到城市下拉列表框中,可以使用jQuery的append()方法动态添加option元素。 7. 监听城市选择事件:使用jQuery的change()方法监听城市下拉列表框的选择事件,当选择了城市后触发相应的事件。 8. 根据选择的城市加载区县数据:根据选择的城市,通过Ajax请求获取对应的区县数据。 9. 绑定区县数据:将获取到的区县数据绑定到区县下拉列表框中,可以使用jQuery的append()方法动态添加option元素。 10. 完成二级联动效果:通过以上步骤,实现了省市区三级联动的效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值