Javascript如何实现二级联动

二级联动的实现主要依靠的思维是当我前一个值发生改变时,记录这个值并将值传输给我的第二个值

在这里插入图片描述

<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title></title>
</head>
<body>
	<form name="form1" method="post" action="">
	    省份:<select name="province" id="province"></select>
	    地区:<select name="city" id="city"></select>
	</form>
<script type="text/javascript">
	var arr_province = ["请选择省/城市","北京市","上海市","天津市","重庆市","深圳市","广东省"];
	var arr_city = [
	    ["请选择城市/地区"],
	    ["东城区","西城区","朝阳区","宣武区","昌平区","大兴区","丰台区","海淀区"],
	    ['宝山区','长宁区','丰贤区', '虹口区','黄浦区','青浦区','南汇区','徐汇区','卢湾区'],
	    ['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'],
	    ['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'],
	    ['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'],
	    ['广州市','惠州市','汕头市','珠海市','佛山市','中山市','东莞市']
	];
	function id$(x){
		return document.getElementById(x);
	}
	//遍历的添加省份数据
	for(var i=0;i<arr_province.length;i++){
		var op = document.createElement("option");
		op.innerText = arr_province[i];
		id$("province").appendChild(op);
	}
	//设置默认值
	var on = document.createElement("option");
	on.innerText = arr_city[0];
	id$("city").appendChild(on);
	//绑定change事件
	id$("province").onchange = function (){
		//selectedIndex表示选中的索引值
		var index = this.selectedIndex;
		//添加前先删除sp
		id$("city").innerHTML = "";
		//遍历的添加城市数据
		for(var i=0;i<arr_city[index].length;i++){
			var sp = document.createElement("option");
			sp.innerText = arr_city[index][i];
			id$("city").appendChild(sp);
		}
	}
</script>
</body>
</html>
  1. 通过change事件以及selectIndex方法获取到我的桥梁,也就是我改变的值的索引。
  2. 然后通过这个索引动态的创建第二级的内容。
  3. 所以最重要的就是获取到我所点击的值的索引。

猜你喜欢

转载自blog.csdn.net/qq_36949892/article/details/90904213