layui select院校专业多级联动
时间: 2023-10-05 11:12:31 浏览: 66
在 layui 中实现多级联动的方式有很多种,以下是一种可能的实现方式:
1. 在 HTML 中定义三个 select 元素,分别表示选择省、市和区县;
2. 在 JavaScript 中获取省市区县数据,可以通过 AJAX 请求后端 API 获取或者直接引用静态数据;
3. 给省 select 绑定 onchange 事件,当省份选择变化时,触发事件并根据省份值筛选出对应的城市列表,将城市列表填充到市 select 中,同时清空区县 select;
4. 给市 select 绑定 onchange 事件,当城市选择变化时,触发事件并根据城市值筛选出对应的区县列表,将区县列表填充到区县 select 中。
以下是一个简单的示例代码:
HTML:
```html
<select id="province">
<option value="">请选择省份</option>
<!--省份选项-->
</select>
<select id="city">
<option value="">请选择城市</option>
<!--城市选项-->
</select>
<select id="district">
<option value="">请选择区县</option>
<!--区县选项-->
</select>
```
JavaScript:
```javascript
// 获取省市区县数据
var data = {
"北京市": {
"市辖区": ["东城区", "西城区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "怀柔区", "平谷区", "密云区", "延庆区"]
},
"上海市": {
"市辖区": ["黄浦区", "徐汇区", "长宁区", "静安区", "普陀区", "虹口区", "杨浦区", "闵行区", "宝山区", "嘉定区", "浦东新区", "金山区", "松江区", "青浦区", "奉贤区"]
},
// 其他省市区县数据...
}
// 填充省份选项
var provinceSelect = document.getElementById('province');
for (var provinceName in data) {
var option = document.createElement('option');
option.value = provinceName;
option.innerHTML = provinceName;
provinceSelect.appendChild(option);
}
// 省份选择变化时更新城市选项
provinceSelect.onchange = function() {
var citySelect = document.getElementById('city');
var districtSelect = document.getElementById('district');
var provinceName = this.value;
// 清空城市、区县选项
citySelect.innerHTML = '<option value="">请选择城市</option>';
districtSelect.innerHTML = '<option value="">请选择区县</option>';
if (!provinceName) {
return;
}
// 填充城市选项
var cityData = data[provinceName];
for (var cityName in cityData) {
var option = document.createElement('option');
option.value = cityName;
option.innerHTML = cityName;
citySelect.appendChild(option);
}
}
// 城市选择变化时更新区县选项
var citySelect = document.getElementById('city');
citySelect.onchange = function() {
var districtSelect = document.getElementById('district');
var cityName = this.value;
// 清空区县选项
districtSelect.innerHTML = '<option value="">请选择区县</option>';
if (!cityName) {
return;
}
// 填充区县选项
var districtData = data[provinceSelect.value][cityName];
for (var i = 0; i < districtData.length; i++) {
var option = document.createElement('option');
option.value = districtData[i];
option.innerHTML = districtData[i];
districtSelect.appendChild(option);
}
}
```
注意,以上代码仅为示例,实际应用中需要根据具体需求进行适当的修改和优化。
阅读全文