定义数组存放省市信息,省份开始就展示在省份下拉列表;选择相应省份那么后面一个下拉列表出现市级信息
时间: 2024-02-18 11:06:31 浏览: 114
省市县三级联动下拉列表.docx.zip
好的,这是一个常见的前端需求,可以通过以下步骤实现:
1. 定义一个数组存放省市信息,每个省份对应一个包含该省份所有城市的数组,例如:
```
const provinceList = [
{
name: '北京市',
cities: ['北京市']
},
{
name: '上海市',
cities: ['上海市']
},
{
name: '浙江省',
cities: ['杭州市', '宁波市', '温州市', '嘉兴市', '湖州市', '绍兴市', '金华市', '衢州市', '舟山市', '台州市', '丽水市']
},
// 其他省份类似
];
```
2. 在 HTML 中定义两个下拉列表,一个用于展示省份信息,一个用于展示该省份下的所有城市信息:
```
<select id="province-select"></select>
<select id="city-select"></select>
```
3. 在 JavaScript 中,为省份下拉列表绑定 `change` 事件,当用户选择一个省份时,根据该省份的城市信息动态生成城市下拉列表中的选项:
```
// 获取省份和城市下拉列表元素
const provinceSelect = document.getElementById('province-select');
const citySelect = document.getElementById('city-select');
// 添加省份选项
provinceList.forEach(province => {
const option = document.createElement('option');
option.text = province.name;
provinceSelect.add(option);
});
// 省份下拉列表 change 事件处理函数
provinceSelect.addEventListener('change', () => {
// 获取当前选择的省份
const selectedProvince = provinceList.find(province => province.name === provinceSelect.value);
// 清空城市下拉列表中的所有选项
citySelect.innerHTML = '';
// 添加该省份下的所有城市选项
selectedProvince.cities.forEach(city => {
const option = document.createElement('option');
option.text = city;
citySelect.add(option);
});
});
```
这样,当用户选择一个省份时,就会动态生成对应的城市选项。注意,在实际情况中,省份和城市信息可能需要从后端接口获取,这时可以使用 AJAX 或 Fetch 等技术获取数据并进行处理。
阅读全文