javaweb基于AJAX的三级联下拉菜单代码实现,
时间: 2023-08-29 13:04:24 浏览: 50
以下是一个基于 AJAX 实现的三级联动下拉菜单的示例代码:
HTML 代码:
```
<!DOCTYPE html>
<html>
<head>
<title>三级联动下拉菜单</title>
<meta charset="UTF-8">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#province").change(function(){
var provinceId = $(this).val();
$.ajax({
url: "getCity.jsp",
type: "post",
data: {provinceId: provinceId},
dataType: "json",
success: function(data){
var options = "<option value=''>--请选择--</option>";
for(var i=0; i<data.length; i++){
options += "<option value='"+data[i].id+"'>"+data[i].name+"</option>";
}
$("#city").html(options);
$("#area").html("<option value=''>--请选择--</option>");
}
});
});
$("#city").change(function(){
var cityId = $(this).val();
$.ajax({
url: "getArea.jsp",
type: "post",
data: {cityId: cityId},
dataType: "json",
success: function(data){
var options = "<option value=''>--请选择--</option>";
for(var i=0; i<data.length; i++){
options += "<option value='"+data[i].id+"'>"+data[i].name+"</option>";
}
$("#area").html(options);
}
});
});
});
</script>
</head>
<body>
<select id="province">
<option value="">--请选择--</option>
<option value="1">湖南省</option>
<option value="2">广东省</option>
</select>
<select id="city">
<option value="">--请选择--</option>
</select>
<select id="area">
<option value="">--请选择--</option>
</select>
</body>
</html>
```
getCity.jsp 代码:
```
<%@ page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String provinceId = request.getParameter("provinceId");
List<City> cityList = getCityList(provinceId);
out.print(JSONArray.toJSONString(cityList));
%>
<%!
public List<City> getCityList(String provinceId){
List<City> cityList = new ArrayList<>();
// 根据省份ID查询城市列表
// TODO:省份ID与城市列表的查询方法
return cityList;
}
%>
```
getArea.jsp 代码:
```
<%@ page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String cityId = request.getParameter("cityId");
List<Area> areaList = getAreaList(cityId);
out.print(JSONArray.toJSONString(areaList));
%>
<%!
public List<Area> getAreaList(String cityId){
List<Area> areaList = new ArrayList<>();
// 根据城市ID查询区域列表
// TODO:城市ID与区域列表的查询方法
return areaList;
}
%>
```
其中,省份、城市、区域的数据可以通过数据库查询得到,此处仅为示例代码。在实际使用中,需要根据实际情况修改代码。