写一个动态加载省市县的例子
时间: 2023-06-01 18:06:05 浏览: 91
好的,我可以为您提供一个基于Vue.js的动态加载省市县的例子。
首先您需要下载安装Vue.js,然后在HTML文件中引入Vue.js和jQuery:
```html
<!DOCTYPE html>
<html>
<head>
<title>动态加载省市县</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<!-- 省份下拉列表 -->
<select id="province">
<option value="">请选择省份</option>
</select>
<!-- 城市下拉列表 -->
<select id="city">
<option value="">请选择城市</option>
</select>
<!-- 区县下拉列表 -->
<select id="district">
<option value="">请选择区县</option>
</select>
<script>
new Vue({
el: 'body',
mounted: function() {
// 页面加载完成后动态加载省份数据
this.loadProvinceData();
},
methods: {
loadProvinceData: function() {
// 使用jQuery向后台请求省份数据
$.getJSON('/api/province', function(data) {
// 将省份数据填充到省份下拉列表中
$.each(data, function(index, item) {
$('#province').append('<option value="' + item.id + '">' + item.name + '</option>');
});
});
},
loadCityData: function() {
// 获取当前选中的省份ID
var provinceId = $('#province').val();
if (provinceId) {
// 使用jQuery向后台请求城市数据
$.getJSON('/api/city', {provinceId: provinceId}, function(data) {
// 清空城市下拉列表
$('#city').empty().append('<option value="">请选择城市</option>');
// 将城市数据填充到城市下拉列表中
$.each(data, function(index, item) {
$('#city').append('<option value="' + item.id + '">' + item.name + '</option>');
});
});
} else {
// 如果没有选择省份,则清空城市下拉列表和区县下拉列表
$('#city').empty().append('<option value="">请选择城市</option>');
$('#district').empty().append('<option value="">请选择区县</option>');
}
},
loadDistrictData: function() {
// 获取当前选中的城市ID
var cityId = $('#city').val();
if (cityId) {
// 使用jQuery向后台请求区县数据
$.getJSON('/api/district', {cityId: cityId}, function(data) {
// 清空区县下拉列表
$('#district').empty().append('<option value="">请选择区县</option>');
// 将区县数据填充到区县下拉列表中
$.each(data, function(index, item) {
$('#district').append('<option value="' + item.id + '">' + item.name + '</option>');
});
});
} else {
// 如果没有选择城市,则清空区县下拉列表
$('#district').empty().append('<option value="">请选择区县</option>');
}
}
},
watch: {
// 监听省份下拉列表的变化
'province': function(newValue, oldValue) {
// 重新加载城市数据和区县数据
this.loadCityData();
this.loadDistrictData();
},
// 监听城市下拉列表的变化
'city': function(newValue, oldValue) {
// 重新加载区县数据
this.loadDistrictData();
}
}
});
</script>
</body>
</html>
```
在以上代码中,我们定义了Vue实例,然后通过jQuery来异步加载省份、城市和区县的数据,并实现了省份、城市和区县下拉列表之间的联动。
请注意,以上代码仅供参考,具体的加载数据和联动方式可能需要根据您的具体需求进行调整。
阅读全文