<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js省市二级联动</title>
</head>
<body>
<div style="text-align: center">
<select id="province" style="width:120px;">
<option>请选择省/城市</option>
</select>
<select id="city" style="width:130px;">
<option>请选择城市/地区</option>
</select>
</div>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script>
//省市级联
/*
使用二维数组储存 省市数据 二维数组:就是元素为一维数组的一个数组。
这个二维数组的元素以省份作为索引
一维数组的元素 保存的是城市数据
*/
var cityList = new Array();
cityList['北京市'] = ['朝阳区', '东城区', '西城区', '海淀区', '宣武区', '丰台区', '怀柔', '延庆', '房山'];
cityList['上海市'] = ['宝山区', '长宁区', '丰贤区', '虹口区', '黄浦区', '青浦区', '南汇区', '徐汇区', '卢湾区'];
cityList['广州省'] = ['广州市', '惠州市', '汕头市', '珠海市', '佛山市', '中山市', '东莞市'];
cityList['深圳市'] = ['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'];
cityList['重庆市'] = ['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'];
cityList['天津市'] = ['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'];
cityList['江苏省'] = ['南京市', '苏州市', '无锡市'];
cityList['浙江省'] = ['杭州市', '宁波市', '温州市'];
cityList['四川省'] = ['四川省', '成都市'];
cityList['海南省'] = ['海口市'];
cityList['福建省'] = ['福州市', '厦门市', '泉州市', '漳州市'];
cityList['山东省'] = ['济南市', '青岛市', '烟台市'];
cityList['江西省'] = ['江西省', '南昌市'];
cityList['广西省'] = ['柳州市', '南宁市'];
cityList['安徽省'] = ['安徽省', '合肥市'];
cityList['河北省'] = ['邯郸市', '石家庄市'];
cityList['河南省'] = ['郑州市', '洛阳市'];
cityList['湖北省'] = ['武汉市', '宜昌市'];
cityList['湖南省'] = ['湖南省', '长沙市'];
cityList['陕西省'] = ['陕西省', '西安市'];
cityList['山西省'] = ['山西省', '太原市'];
cityList['黑龙江省'] = ['黑龙江省', '哈尔滨市'];
cityList['其他'] = ['其他'];
for (var i in cityList) {
//alert(i);
}
//添加省份
function appendProvince() {
for (var i in cityList) {
$("#province").append("<option value=" + i + ">" + i + "</option>");
}
}
//当省份改变时找出对应的城市数据
$("#province").change(function () {
var key = $(this).val();
//获取选中的省份值
var citys = cityList[key];
$("#city").empty();//每次都先清空一下市级菜单
$("#city").append("<option>请选择城市/地区</option>");
citys.forEach(element => {
$("#city").append("<option value=" + element + ">" + element + "</option>");
});
});
$(function () {
//页面加载完成时,加载省份的数据
appendProvince();
console.log((cityList["山西省"]));
});
</script>
</body>
</html>