javascript实现二级联动下拉框

简介: 这个是简单也是最基本的下拉框联动的示例,这个示例主要针对那些只有二级联动,且第一级是固定的选项,第二级的内容也比较简单。这里使用了javascript来联动第二级下拉框。 1 DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2  3  4  New Document  5  6  7  8  9 10     //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。
  这个是简单也是最基本的下拉框联动的示例,这个示例主要针对那些只有二级联动,且第一级是固定的选项,第二级的内容也比较简单。这里使用了javascript来联动第二级下拉框。

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

这段代码比较简单。

如果对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对象
    要将下拉框的所有选项删除有两种方法,
    第一种方法就是遍历删除:
   
1  var l = myselect.length;
2  for (var i = 0 ;i < l;i ++ ){
3     myselect.options[i] = null ;
4  }

    第二种方法比较简单,因此一般都使用此方法:
myselect.length = 0 ;


http://www.blogjava.net/rickhunter/articles/64607.html转载地址
目录
相关文章
|
5月前
|
JavaScript
JS设置select下拉框默认选中
JS设置select下拉框默认选中
|
JavaScript 前端开发 Java
javascript原生实现二级联动下拉菜单
JS原生实现二级联动菜单(市/区县) 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
330 0
javascript原生实现二级联动下拉菜单
|
JavaScript 前端开发 数据安全/隐私保护
JavaScript学习笔记(三),js中的事件,this的使用、表单验证、省市级联下拉框案例
JavaScript学习笔记(三),js中的事件,this的使用、表单验证、省市级联下拉框案例
130 0
JavaScript学习笔记(三),js中的事件,this的使用、表单验证、省市级联下拉框案例
|
JavaScript 前端开发
利用JavaScript实现二级联动
利用JavaScript实现二级联动 要实现JavaScript二级联动效果,首先要确定需要哪些技术: 二维数组 for in循环 new Option(text,value,true,true) add(option,null) onchange() 表单事件 HTML代码: &lt;!-- &lt;input type=&quot;text&quot; id=&quot;text&quot;&gt; --&gt; 请选择省份: &lt;select name=&quot;&quot; id=&quot;provinces&quot;&gt; &lt;!-- &lt;option value=&quot;江苏省&quot;&gt;江苏省&lt;/option&gt;
|
JavaScript 前端开发
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
167 0
|
移动开发 JavaScript weex
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
219 0
|
JavaScript
JS中实现或退出全屏
JS中实现或退出全屏
153 0
|
前端开发 JavaScript
前端:JS实现双击table单元格变为可编辑状态
前端:JS实现双击table单元格变为可编辑状态
365 0
|
JavaScript 算法 前端开发
【前端算法】JS实现数字千分位格式化
JS实现数字千分位格式化的几种思路,以及它们之间的性能比较
273 1