级联菜单1.0版,新手超详细解说。

级联菜单不是什么难操作,但是我作为一个初学者还是有很多困惑,今天决定花一个下午弄懂它,总算弄出个1.0版。

所谓级联菜单,就是一级选项选中后,二级选项变成相对应的选项。比如下面,选中辽宁省后,城市的选项就变成辽宁的城市了。

我这是1.0版,以后还有2.0版

解题思路是:

1、要建立一个二维数组,数组的第一维对应的是省份的选项顺序,第二维对应的是省份所拥有的城市。

2、选中了省份后,要能知道数组里相对应的城市,并把这个城市的数组拿出来。

3、清空城市数组里的所有选项。

4、遍历城市数组,其中有些小技巧,生成选项,把城市名赋给选项,把选项拼接到城市数组中。

注:arr 里,我写的是“城市1”,这是故意写的,你选完其他项后,再选择省份,城市选项变成了城市1,即,城市选项里的城市,只用了1次。

opt.innerText = citys[i] 和 opt.innerHTML= citys[i],都可以,但二者是有区别的。text只显示文本,html包括标记等内容都显示出来。

二者赋值方式也不一样。text里标记不会被识别。html标记会被识别。

省份:<select id="provience" onchange="text();">	//onchage是选择事件,选项改变时触发。
				<option>省份</option>
				<option>辽宁省</option>
				<option>吉林省</option>
		</select>			
城市:<select id="city">
		<option>城市</option>
	 </select>
<script type="text/javascript">
	function text(){
		var arr = [['城市1'],['沈阳','鞍山','大连'],['长春','四平']]	//和省份选项一样多的,二维数组
		var index = document.getElementById("provience").selectedIndex;//选中省份对应的下标。下标从0开始。
		var citys = arr[index];			//选中省份对应的城市。
				//清空城市里的选项
		var selcity= document.getElementById("city");	//取得城市选项的对象。
		selcity.options.length = 0;  //将城市选项数量变成0,即清空
		for(var i = 0; i<citys.length; i++){//把选中省份对应的城市数组遍历出来,并生成选项。
			var opt = document.createElement('option'); //1、生成一个选项。
			opt.innerText = citys[i]; 		//2、把城市名放到生成的选项里。
			selcity.appendChild(opt); 		//3、将赋完值的选项,拼接到城市选项的对象里。
				}				
			}			
</script>

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值