省市级联效果
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>provByCity</title>
<script src="js/jquery-3.4.1.js"></script>
<script>
$(function () {
//页面加载完成后立即将数据填充在select中
$.ajax({
url:"provinceByCityServlet",
dataType:"json",
data:{
temp:"province"
},
success:function (province) {
//将获取到的省份信息显示到select中
for(i = 0;i<province.length;i++){
$("#province").append("<option value='"+province[i].provId+"'>"+province[i].provName+"</option>")
}
}
})
//在选择省份后显示城市
$("#province").change(function () {
//获取省份的value值
var provinceId = $(this).val();
if(parseInt(provinceId) != -1){
//发送异步请求
$.ajax({
url:"provinceByCityServlet",
dataType:"json",
data:{
temp:"city",
provId:provinceId
},
success:function (city) {
$("#city").html("<option>--请选择--</option>");
for(i = 0;i<city.length;i++){
$("#city").append("<option value='"+city[i].cityId+"'>"+city[i].cityName+"</option>")
}
}
})
}else {
$("#city").html("<option>--请选择--</option>");
}
})
})
</script>
</head>
<body>
<select id="province">
<option value="-1">--请选择--</option>
</select>
<select id="city">
<option>--请选择--</option>
</select>
</body>
</html>
servlet代码
String temp = request.getParameter("temp");
ProvinceService service = new ProvinceServiceImpl();
JSONArray array = null;
if("province".equals(temp)){
List<Province> list = service.selectProv();
array = JSONArray.fromObject(list);
}
if ("city".equals(temp)){
String provId = request.getParameter("provId");
List<City> cityList = service.selectCity(Integer.parseInt(provId));
array = JSONArray.fromObject(cityList);
}
System.out.println(array);
response.getWriter().print(array);