四十九2

三级联动

使用的三级联动数据

var oProc = [“安徽”,“上海”,“山东”]
var oCity = [
[“合肥”,“淮南”,“芜湖”],
[“浦东”,“闵行”,“浦西”],
[“济南”,“青岛”,“枣庄”]
]
var oDist = [
[
[“政务区”,“庐阳区”,“蜀山区”],
[“田家区”,“大道区”,“九龙岗”],
[“镜湖区”,“鸠江区”,“三山区”]
],
[
[“浦东1”,“浦东2”,“浦东3”],
[“闵行1”,“闵行2”,“闵行3”],
[“浦西1”,“浦西2”,“浦西3”]
],
[
[“历下区”,“天桥区”,“长清区”],
[“市南区”,“市北区”,“市东区”],
[“薛城区”,“市中区”,“责成区”]
]
];

html部分(三个select标签,第一个和地问个标签中各有显示下一级内容的时间出发函数)

<select name="" id="proc" onchange="showCity()">
		<option value=""></option>
	</select>
	
	<select name="" id="city" onchange="showDist()">
		<option value=""></option>
	</select>
	
	<select name="" id="dist">
		<option value=""></option>
	</select>

js部分

var proc,city,dist;		//  定义三个函数,供获取对象使用
	window.onload = function(){
	//  获取三个select的对象
		 proc = document.getElementById('proc'); 
		 city = document.getElementById('city');
		 dist = document.getElementById('dist');
		
	//   循环将oPero数组中的对象赋给第一个select
		for(var i = 0;i < oProc.length;i++){
			// 创建option元素
			var ele = document.createElement('option');
			//创建文本节点
			var txt = document.createTextNode(oProc[i]);
			// 把文本节点添加到元素节点中
			ele.appendChild(txt);				
			// 把元素节点添加到select标签中
			proc.appendChild(ele);
		}
		
}

		
		//   域内容改变触发函数
		function showCity(){
			if(proc.value == "-1"){	// 如果都没选中,代码不执行
				//每次选择省先清空市
				city.options.length = 1;
				// 每次选择市先清空区
				dist.options.length = 1;
			}else{
				city.options.length = 1;
				dist.options.length = 1;
				//选择哪个省,返回的是当前省被选中的那个索引值,这个值是从1开始的
				var num = proc.options.selectedIndex;
				for(var i= 0;i< oCity[num-1].length;i++){
					//创建元素节点
					var ele = document.createElement('option');
					 //创建文本对象
					var txt = document.createTextNode(oCity[num-1][i]);
					 // 把文本节点添加到元素节点中
					ele.appendChild(txt);				
					// 把元素节点添加到select标签中
					city.appendChild(ele);	
				}
			}	
		}
		
		
		function showDist(){
			if(city.value == "-1"){	// 如果都没选中,代码不执行
				// 每次选择市先清空区
				dist.options.length = 1;
			}else{
				dist.options.length = 1;
				//选择哪个省,返回的是当前省被选中的那个索引值,这个值是从1开始的
				var num = proc.options.selectedIndex;
				//  返回市的索引值
				var num2 = city.options.selectedIndex;
			
				for(var i= 0;i< oDist[num-1][num2-1].length;i++){
					//创建元素节点
					var ele = document.createElement('option');
					 //创建文本对象
					var txt = document.createTextNode(oDist[num-1][num2-1][i]);
					 // 把文本节点添加到元素节点中
					ele.appendChild(txt);				
					// 把元素节点添加到select标签中
					dist.appendChild(ele);	
				}
			}	
		}

没有使用三维数组完成数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值