js实现select二级联动下拉菜单

作者:lijiao 时间:2024-04-17 09:49:51 

本文实例为大家分享了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;
标签:js,select,二级联动,下拉菜单
0
投稿

猜你喜欢

  • sql server 性能优化之nolock

    2024-01-24 11:34:10
  • asp实现通过session来统计在线人数的方法

    2007-08-13 12:56:00
  • Mybatis非配置原因,导致SqlSession was not registered for synchronization异常

    2024-01-13 18:17:35
  • vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的代码

    2024-05-13 09:38:51
  • python实现两个一维列表合并成一个二维列表

    2023-08-06 12:59:44
  • Python中的自定义函数学习笔记

    2023-11-21 15:56:56
  • 简单掌握Python的Collections模块中counter结构的用法

    2023-05-17 00:20:13
  • PHP邮箱验证示例教程

    2023-06-20 12:01:47
  • 基于Python实现口罩佩戴检测功能

    2022-08-10 20:18:07
  • Python中的进程操作模块(multiprocess.process)

    2022-09-17 23:10:32
  • python matplotlib绘图实现删除重复冗余图例的操作

    2023-11-02 22:36:44
  • VSCode 使用Settings Sync同步配置(最新版教程,非常简单)

    2022-10-17 08:50:47
  • php中json 序列化为 [] 的弊端

    2023-05-25 00:14:30
  • asp小偷程序原理和简单示例

    2007-11-05 17:12:00
  • javascript设置页面背景色及背景图片的方法

    2023-09-06 22:00:51
  • javascript打印html内容功能的方法示例

    2024-04-25 13:13:23
  • 数据库名词解释

    2008-09-12 17:28:00
  • 深入浅出讲解MySQL的并行复制

    2024-01-21 20:22:26
  • Pytorch学习笔记DCGAN极简入门教程

    2022-05-28 17:29:02
  • asp access数据库并生成XML文件范例

    2011-03-29 10:49:00
  • asp之家 网络编程 m.aspxhome.com