效果图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS实现二级联动菜单</title>
</head>
<body>
<form name="form1" method="post" action="">
省份:<select name="province" id="province"></select>
地区:<select name="city" id="city"></select>
</form>
<script>
var arr_province = ["请选择省/城市","北京市","上海市","天津市","重庆市","深圳市","广东省"];
var arr_city = [
["请选择城市/地区"],
["东城区","西城区","朝阳区","宣武区","昌平区","大兴区","丰台区","海淀区"],
['宝山区','长宁区','丰贤区', '虹口区','黄浦区','青浦区','南汇区','徐汇区','卢湾区'],
['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'],
['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'],
['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'],
['广州市','惠州市','汕头市','珠海市','佛山市','中山市','东莞市']
];
function my$(id) {
return document.getElementById(id);
}
var pro = my$("province");
var city = my$("city");
//1.省区的默认选项
for(var i = 0 ; i < arr_province.length ;i++){
var option = document.createElement("option");
option.innerHTML = arr_province[i];
pro.appendChild(option);
}
//2.城市的默认选项
var cityOption = document.createElement("option");
cityOption.innerHTML = arr_city[0][0];
city.appendChild(cityOption);
//3.绑定change事件
pro.onchange = function () {
//获取到当前被选中的索引值
console.log(this.selectedIndex);
var index = this.selectedIndex; //2
//先清除city里面的option选项
city.innerHTML = "";
for(var i = 0; i < arr_city[index].length; i++){
var o = document.createElement("option");
o.innerHTML = arr_city[index][i];
city.appendChild(o);
}
}
</script>
</body>
</html>