李刚JavaScript视频学习-JSON

利用JSON做的级联菜单


页面代码

<html>
	<head>
		<title>级联菜单</title>
	</head>
	<body>
		<select id="provinces" style="width:150px"></select>
		<select id="cities"  style="width:150px"></select>
		<script type="text/javascript" src="cascade.js"></script>
		<script type="text/javascript">
		
		</script>
	</body>
</html>

js代码:

var data=[
	{
		id:1, name:"湖南",
		cities :[
			{id:11,name:"长沙"},
			{id:12,name:"岳阳"},
			{id:13,name:"益阳"},
			{id:14,name:"衡阳"}
		]
	},
	{
		id:2, name:"湖北",
		cities :[
			{id:21,name:"武汉"},
			{id:22,name:"鄂州"},
			{id:23,name:"荆州"},
			{id:24,name:"赤壁"}
		]
	},
	{id:3, name:"四川",
		cities :[
			{id:31,name:"成都"},
			{id:32,name:"南充"},
			{id:33,name:"棉阳"},
			{id:34,name:"汶川"}
		]
	},
	{id:4, name:"江西",
		cities :[
			{id:41,name:"南昌"},
			{id:42,name:"九江"},
			{id:43,name:"上饶"},
			{id:44,name:"赣州"}
		]
	}
];

var provinces=document.getElementById("provinces");
var cities=document.getElementById("cities");

//清空
provinces.innerHTML="";
//pro代表data的每一个key
//JS key只能是字符串
for(var i=0,len=data.length;i<len;i++){
	//var opt=new Option(data[i].id,data[i].name);
	var opt=document.createElement("option");
	opt.value=data[i].id;
	opt.innerHTML=data[i].name;
	
	provinces.appendChild(opt);
}

provinces.οnchange=function (){
	cities.innerHTML="";
	var proId=provinces.value;//对应选中的id值
	for(var i=0,len=data.length;i<len;i++){
		if(data[i].id==proId){
			var cityData=data[i].cities;
			for(var i=0,len=cityData.length;i<len;i++){
				//var opt=new Option(cityData[i].id,cityData[i].name);
				var opt=document.createElement("option");
				opt.value=cityData[i].id;
				opt.innerHTML=cityData[i].name;
				cities.appendChild(opt);
			}
			break;
		}
	}
	
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值