定义数组存放省市信息,省份开始就展示在省份下拉列表;选择相应省份那么在后面就创建一个下拉列表出现市级信息
时间: 2023-12-04 12:03:03 浏览: 58
ajax实现多级下拉列表 选省后出现相应的市
好的,这是一个比较常见的前端问题,需要使用 JavaScript 实现。
首先,我们可以定义一个数组 `provinceList`,里面存放所有的省份和对应的城市信息。例如:
```javascript
const provinceList = [
{
province: '广东省',
cities: ['广州市', '深圳市', '珠海市', '汕头市', '佛山市', '韶关市', '湛江市', '肇庆市', '惠州市', '梅州市', '汕尾市', '河源市', '阳江市', '清远市', '东莞市', '中山市', '潮州市', '揭阳市', '云浮市']
},
{
province: '江苏省',
cities: ['南京市', '苏州市', '无锡市', '常州市', '镇江市', '南通市', '泰州市', '扬州市', '盐城市', '连云港市', '徐州市', '淮安市', '宿迁市']
},
// ...
];
```
然后,我们可以先将所有的省份信息展示在一个下拉列表中:
```html
<select id="provinceSelect">
<option value="">请选择省份</option>
</select>
```
接着,使用 JavaScript 动态生成省份列表:
```javascript
const provinceSelect = document.getElementById('provinceSelect');
for (let i = 0; i < provinceList.length; i++) {
const provinceOption = document.createElement('option');
provinceOption.value = i;
provinceOption.text = provinceList[i].province;
provinceSelect.appendChild(provinceOption);
}
```
当用户选择了一个省份后,我们可以根据选择的省份动态生成对应的城市列表。首先,我们需要在页面中创建一个空的城市下拉列表:
```html
<select id="citySelect">
<option value="">请选择城市</option>
</select>
```
然后,我们可以在省份下拉列表的 `change` 事件中动态生成城市列表:
```javascript
const citySelect = document.getElementById('citySelect');
provinceSelect.addEventListener('change', function() {
const selectedProvinceIndex = this.value;
// 先清空城市下拉列表
citySelect.innerHTML = '<option value="">请选择城市</option>';
// 如果用户选择了具体的省份,则生成对应的城市列表
if (selectedProvinceIndex) {
const selectedProvince = provinceList[selectedProvinceIndex];
for (let i = 0; i < selectedProvince.cities.length; i++) {
const cityOption = document.createElement('option');
cityOption.value = selectedProvince.cities[i];
cityOption.text = selectedProvince.cities[i];
citySelect.appendChild(cityOption);
}
}
});
```
这样,当用户选择了省份后,就会动态生成对应的城市列表了。
阅读全文