html代码只写了简单结构,后续数据模拟后台传输
省份:
<select name="sheng">
<option>--请选择省份--</option>
</select>
城市:
<select name="city">
<option>--请选择省份--</option>
</select>
js代码
var province;// 省份下拉列表
var city;// 城市下拉列表
// 模拟后台传输数据
var data={
"四川省":["成都","德阳"],
"云南省":["昆明","丽江"],
"广东":["广州","佛山"]};
$(function(){
init();
// 循环加载加载省份数据,并添加到下拉框中
for(let s in data){
province.append("<option>"+s+"</option>");
}
// 下拉列表改变省份事件
province.change(function(){
city.empty();// 删除城市中所有子元素
$(data[province.val()]).each(function(i,e){
// 城市中添加所选省份的城市
city.append("<option>"+e+"</option>");
})
})
})
// 初始化
function init(){
province = $("select[name='sheng']");
city = $("select[name='city']");
}