html 如何做级联选择器
时间: 2023-07-18 11:20:46 浏览: 82
HTML中可以利用`<select>`标签来实现级联选择器。下面是一个简单的例子:
HTML代码:
```
<label>省份:</label>
<select id="province">
<option value="">请选择省份</option>
<option value="gd">广东省</option>
<option value="zj">浙江省</option>
</select>
<label>城市:</label>
<select id="city">
<option value="">请选择城市</option>
</select>
<label>区县:</label>
<select id="county">
<option value="">请选择区县</option>
</select>
```
JS代码:
```
// 定义省份、城市和区县数据
var data = {
"gd": {
"name": "广东省",
"cities": {
"gz": "广州市",
"sz": "深圳市",
"zh": "珠海市"
}
},
"zj": {
"name": "浙江省",
"cities": {
"hz": "杭州市",
"nb": "宁波市",
"wz": "温州市"
}
}
};
// 绑定省份下拉框 onchange 事件
var provinceSelect = document.getElementById("province");
provinceSelect.onchange = function() {
var province = provinceSelect.value;
var citySelect = document.getElementById("city");
var countySelect = document.getElementById("county");
// 清空城市和区县下拉框中的选项
citySelect.innerHTML = "<option value=''>请选择城市</option>";
countySelect.innerHTML = "<option value=''>请选择区县</option>";
if (province) {
// 根据选择的省份生成城市下拉框中的选项
var cities = data[province].cities;
for (var code in cities) {
var option = document.createElement("option");
option.value = code;
option.text = cities[code];
citySelect.appendChild(option);
}
}
};
// 绑定城市下拉框 onchange 事件
var citySelect = document.getElementById("city");
citySelect.onchange = function() {
var province = provinceSelect.value;
var city = citySelect.value;
var countySelect = document.getElementById("county");
// 清空区县下拉框中的选项
countySelect.innerHTML = "<option value=''>请选择区县</option>";
if (province && city) {
// 根据选择的省份和城市生成区县下拉框中的选项
var counties = data[province].counties[city];
for (var i = 0; i < counties.length; i++) {
var option = document.createElement("option");
option.value = counties[i];
option.text = counties[i];
countySelect.appendChild(option);
}
}
};
```
在上面的代码中,data 对象存储了省份、城市和区县数据。当选择省份时,会根据选择的省份生成城市下拉框中的选项;当选择城市时,会根据选择的省份和城市生成区县下拉框中的选项。你可以根据自己的需求修改和扩展代码。
阅读全文