根据选取的省会城市,相应的改变市级城市,再根据选取的市级城市,相应改变区级/街道
<select id="se1">
<option value="">请选择市/地区</option>
</select>
<select id="se2">
<option value="">请选择市/地区</option>
</select>
<select id="se3">
<option value="">请选择街道/区</option>
</select>
var s1 = document.getElementById('se1');
var s2 = document.getElementById('se2');
var s3 = document.getElementById('se3');
let city = {
'请选择市/地区': ['请选择市/地区'],
'北京': ['请选择市/地区', '北京1', '北京2'],
'湖北': ['请选择市/地区', '武汉市'],
'湖南': ['请选择市/地区', '长沙1', '长沙2'],
'山东': ['请选择市/地区', '济南1', '济南2'],
'广东': ['请选择市/地区', '广州1', '广州2']
};
let area = {
'请选择市/地区': ['请选择街道/区'],
'北京1': ['请选择街道/区', '北京11', '北京111111'],
'北京2': ['北京22', '北京222222'],
'武汉市': ['武汉市111', '武汉市111'],
'长沙1': ['长沙111',],
'长沙2': ['长沙222', '武汉市111', '武汉市111'],
'济南1': ['济南111'],
'济南2': ['济南222'],
'济南3': ['济南333'],
'济南4': ['济南444'],
'广州1': ['广州111'],
'广州2': ['广州222'],
'广州3': ['广州333'],
'广州4': ['广州444']
};
for (per in city) {
let c = document.createElement("option");
c.innerHTML = per;
s1.appendChild(c);
}
s1.addEventListener('change',()=>{
changeTown(city, s1, s2);
changeTown(area, s2, s3);
})
s2.addEventListener('change',()=>{
changeTown(area, s2, s3);
})
function changeTown(obj, node1, node2) {
node2.innerHTML = '';
for (let i = 0; i < obj[node1.value].length; i++) {
let c = `<option>${obj[node1.value][i]}</option>`;
node2.innerHTML += c;
}
}