首页 > 编程 > JavaScript > 正文

最简单js代码实现select二级联动下拉菜单

2019-11-20 10:15:05
字体:
来源:转载
供稿:网友

本文实例为大家分享了js实现select二级联动下拉菜单,供大家参考,具体内容如下

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script language="JavaScript" type="text/javascript">   //定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。通过selectedIndex获得省份的下标值来得到相应的城市数组   var city=[   ["北京","天津","上海","重庆"],   ["南京","苏州","南通","常州"],   ["福州","福安","龙岩","南平"],   ["广州","潮阳","潮州","澄海"],   ["兰州","白银","定西","敦煌"]   ];   function getCity(){     //获得省份下拉框的对象     var sltProvince=document.form1.province;     //获得城市下拉框的对象     var sltCity=document.form1.city;          //得到对应省份的城市数组     var provinceCity=city[sltProvince.selectedIndex - 1];      //清空城市下拉框,仅留提示选项     sltCity.length=1;      //将城市数组中的值填充到城市下拉框中     for(var i=0;i<provinceCity.length;i++){       sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);     }   } </script> </HEAD>  <BODY> <FORM METHOD=POST ACTION="" name="form1">     <SELECT NAME="province" onChange="getCity()">       <OPTION VALUE="0">请选择所在省份 </OPTION>       <OPTION VALUE="直辖市">直辖市 </OPTION>       <OPTION VALUE="江苏省">江苏省 </OPTION>       <OPTION VALUE="福建省">福建省 </OPTION>       <OPTION VALUE="广东省">广东省 </OPTION>       <OPTION VALUE="甘肃省">甘肃省 </OPTION>     </SELECT>     <SELECT NAME="city">       <OPTION VALUE="0">请选择所在城市 </OPTION>     </SELECT>   </FORM> </BODY></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对象
要将下拉框的所有选项删除有两种方法,
第一种方法就是遍历删除:

 var l=myselect.length; for(var i=0;i<l;i++){ myselect.options[i]=null; }

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表