使用 ajax 实现二级联动,一级数据是静态的(江苏省、安徽省), 二级数据由一级动态关联出来。(不需要访问数据库,后台模拟返回 数据即可)
时间: 2024-04-08 07:33:02 浏览: 83
ajax实现二级联动
4星 · 用户满意度95%
要使用 Ajax 实现二级联动,可以按照以下步骤进行操作:
1. 在前端页面中创建两个下拉框,一个用于显示一级数据,一个用于显示二级数据。
```html
<select id="province">
<option value="">请选择省份</option>
<option value="江苏省">江苏省</option>
<option value="安徽省">安徽省</option>
</select>
<select id="city">
<option value="">请选择城市</option>
</select>
```
2. 编写 JavaScript 代码,监听一级下拉框的变化事件,根据选中的一级数据发送 Ajax 请求获取对应的二级数据,并更新二级下拉框的选项。
```javascript
$(document).ready(function() {
$('#province').change(function() {
var province = $(this).val();
$.ajax({
url: '/getCities', // 后台接口地址,模拟返回数据
type: 'GET',
data: {
province: province
},
success: function(data) {
// 清空二级下拉框的选项
$('#city').empty();
// 添加二级数据选项
for (var i = 0; i < data.length; i++) {
$('#city').append('<option value="' + data[i] + '">' + data[i] + '</option>');
}
},
error: function() {
console.log('Error occurred while fetching cities.');
}
});
});
});
```
3. 在后台编写模拟的接口 `/getCities`,根据传入的一级数据返回对应的二级数据。
```java
@RestController
public class CityController {
@GetMapping("/getCities")
public List<String> getCities(@RequestParam("province") String province) {
List<String> cities = new ArrayList<>();
if (province.equals("江苏省")) {
cities.add("南京市");
cities.add("苏州市");
cities.add("无锡市");
} else if (province.equals("安徽省")) {
cities.add("合肥市");
cities.add("芜湖市");
cities.add("蚌埠市");
}
return cities;
}
}
```
这样,当用户在一级下拉框中选择省份时,会触发 Ajax 请求,后台会根据选中的省份返回对应的城市数据,并更新二级下拉框的选项。
阅读全文