html做一个包含省份,城市,区县,3个下拉
时间: 2024-11-03 21:20:31 浏览: 24
JS实现的Select三级下拉菜单代码
HTML中创建包含省份、城市和区县三级联动选择的下拉列表(通常称为下拉菜单或下拉框),可以使用`<select>`标签配合`<option>`标签来实现。这是一个简单的示例:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>三级联动下拉列表</title>
</head>
<body>
<!-- 第一级下拉 - 省份 -->
<label for="province">省份:</label>
<select id="province" name="province">
<option value="">请选择省份</option>
<!-- 填充省份数据 -->
<option value="北京">北京</option>
<option value="上海">上海</option>
<!-- 其他省份... -->
</select>
<!-- 中间级联动 - 城市(根据省份动态生成) -->
<label for="city">城市:</label>
<select id="city" name="city" style="display: none;"> <!-- 初始隐藏 -->
<option value="">请选择城市</option>
<!-- 这部分内容需要通过JavaScript动态添加 -->
</select>
<!-- 最终级联动 - 区县(根据城市动态生成) -->
<label for="district">区县:</label>
<select id="district" name="district" style="display: none;"> <!-- 初始隐藏 -->
<option value="">请选择区县</option>
<!-- 同样需要动态添加 -->
</select>
<!-- JavaScript 用于处理联动效果 -->
<script>
// 假设有一组省级数据...
const provinces = [
{id: '01', name: '北京'},
{id: '02', name: '上海'}, /* ... */
];
function loadCities(provinceId) {
// 从服务器获取对应省份的城市数据并填充到city select
document.getElementById('city').innerHTML = '';
provinces.find(p => p.id === provinceId).cities.forEach(city => {
let cityOption = document.createElement('option');
cityOption.value = city.id;
cityOption.text = city.name;
document.getElementById('city').appendChild(cityOption);
});
}
// 当省份选择改变时,触发城市联动
document.getElementById('province').addEventListener('change', function() {
let selectedProvince = this.value;
if (selectedProvince) {
loadCities(selectedProvince);
document.getElementById('city').style.display = 'block';
} else {
document.getElementById('city').innerHTML = '<option value="">请选择省份</option>';
document.getElementById('city').style.display = 'none';
}
});
// 类似地,你可以为城市联动添加相应事件处理函数
</script>
</body>
</html>
```
阅读全文