js实现二级联动

这个是简单也是最基本的下拉框联动的示例,这个示例主要针对那些只有二级联动,且第一级是固定的选项,第二级的内容也比较简单。这里使用了javascript来联动第二级下拉框。

 

[xhtml]  view plain  copy
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">    
  2. <HTML>    
  3.     <HEAD>    
  4.         <TITLE>New Document</TITLE>  
  5.         <META NAME="Generator" CONTENT="EditPlus">  
  6.         <META NAME="Author" CONTENT="">  
  7.         <META NAME="Keywords" CONTENT="">  
  8.         <META NAME="Description" CONTENT="">  
  9.         <mce:script language="JavaScript" type="text/javascript"><!--  
  10.         //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。通过selectedIndex获得省份的下标值来得到相应的城市数组    
  11.         var city=[    
  12.             ["北京","天津","上海","重庆"],  
  13.             ["南京","苏州","南通","常州"],  
  14.             ["福州","福安","龙岩","南平"],  
  15.             ["广州","潮阳","潮州","澄海"],  
  16.             ["兰州","白银","定西","敦煌"]  
  17.         ];    
  18.         function getCity(){    
  19.             //获得省份下拉框的对象    
  20.             var sltProvince=document.form1.province;  
  21.             //获得城市下拉框的对象    
  22.             var sltCity=document.form1.city;    
  23.             //得到对应省份的城市数组    
  24.             var provinceCity=city[sltProvince.selectedIndex - 1];    
  25.             //清空城市下拉框,仅留提示选项    
  26.             sltCity.length=1;    
  27.             //将城市数组中的值填充到城市下拉框中    
  28.             for(var i=0;i<provinceCity.length;i++){    
  29.                 sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);    
  30.                 }    
  31.         }    
  32.           
  33. // --></mce:script>    
  34.     </HEAD>    
  35.     <BODY>    
  36.         <FORM METHOD=POST ACTION="" name="form1">  
  37.             <SELECT NAME="province" onChange="getCity()">  
  38.                 <OPTION VALUE="0">请选择所在省份</OPTION>  
  39.                 <OPTION VALUE="直辖市">直辖市</OPTION>  
  40.                 <OPTION VALUE="江苏省">江苏省</OPTION>  
  41.                 <OPTION VALUE="福建省">福建省</OPTION>  
  42.                 <OPTION VALUE="广东省">广东省</OPTION>    
  43.                 <OPTION VALUE="甘肃省">甘肃省</OPTION>  
  44.             </SELECT>    
  45.             <SELECT NAME="city">    
  46.                 <OPTION VALUE="0">请选择所在城市</OPTION>    
  47.             </SELECT>    
  48.         </FORM>    
  49.     </BODY>    
  50. </HTML>    

 

这段代码比较简单。

如果对js不大熟悉,可以看看下面关于js处理select对象的内容:

1、使用selectedIndex属性获取当前选项的索引
    下拉框的选项是一个线性数组,每个选项都有一个索引,selectedIndex表示当前被选中的选项的索引号。结合options属性,可以得到被选中 的option对象,从而对其做进一步的处理。当下拉框可多选时,selectedIndex属性返回第一个被选中的索引。
    selectedIndex是个只读的属性,想把通过索引指定的下拉框的项设置为选中状态,可以设置option对象的selected=true来实现。

2、为select对象添加一个选项
    sltCity[i + 1 ] = new  Option(provinceCity[i],provinceCity[i]);
    
new  Option(provinceCity[i],provinceCity[i])表示创建一个值为 provinceCity[i],文本为 provinceCity[i]的option对象, sltCity是页面上的city对象, i + 1指定新添选项的位置。

3、清空一个select对象
    要将下拉框的所有选项删除有两种方法,


    第一种方法就是遍历删除:

[javascript]  view plain  copy
  1. var l=myselect.length;    
  2. for(var i=0;i<l;i++){    
  3.     myselect.options[i]=null;    
  4.    

 

第二种方法比较简单,因此一般都使用此方法:

[javascript]  view plain  copy
  1. myselect.length=0;  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值