// 假设有两个select元素,id分别为'province'和'city'
// 这里以省份和城市为例,实际使用时需要替换为具体的数据
// 省份数据
const provinces = [
{ id: 1, name: '浙江' },
{ id: 2, name: '江苏' },
// 添加更多省份...
];
// 城市数据,这里以对象形式存储,键为省份id,值为对应城市的数组
const cities = {
1: [
{ id: 11, name: '杭州' },
{ id: 12, name: '宁波' },
// 添加更多浙江的城市...
],
2: [
{ id: 21, name: '南京' },
{ id: 22, name: '苏州' },
// 添加更多江苏的城市...
],
// 添加更多省份的城市...
};
// 页面加载完成后,填充省份select
window.onload = function() {
const provinceSelect = document.getElementById('province');
provinces.forEach(province => {
const option = document.createElement('option');
option.value = province.id;
option.textContent = province.name;
provinceSelect.appendChild(option);
});
// 省份select改变时,更新城市select
provinceSelect.addEventListener('change', function() {
const citySelect = document.getElementById('city');
citySelect.innerHTML = ''; // 清空原有选项
const selectedProvinceId = this.value;
if (cities[selectedProvinceId]) {
cities[selectedProvinceId].forEach(city => {
const option = document.createElement('option');
option.value = city.id;
option.textContent = city.name;
citySelect.appendChild(option);
});
}
});
};
这段代码首先定义了省份和城市的数据结构,然后在页面加载完成后填充省份的select元素。同时,给省份的select元素添加了一个change事件监听器,当选择省份时,会根据选择的省份id去更新城市的select元素。注意,这里假设城市数据已经根据省份id进行了分类存储。在实际应用中,你可能需要根据实际情况调整数据结构或获取数据的方式。