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


Posted in Javascript onApril 17, 2020

本文实例为大家分享了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;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery html动态生成select标签出问题的解决方法
Nov 20 Javascript
JS中把字符转成ASCII值的函数示例代码
Nov 21 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
JavaScript学习笔记之JS对象
Jan 22 Javascript
javaScript中slice函数用法实例分析
Jun 08 Javascript
详解javascript的变量与标识符
Jan 04 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
Mar 07 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
Jan 25 Javascript
webpack打包node.js后端项目的方法
Mar 10 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
vue slot与传参实例代码讲解
Apr 28 Javascript
js实现树形数据转成扁平数据的方法示例
Feb 27 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
Apr 17 #Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 #Javascript
第一次接触JS require.js模块化工具
Apr 17 #Javascript
jqGrid 学习笔记整理——进阶篇(一 )
Apr 17 #Javascript
JS组件Bootstrap dropdown组件扩展hover事件
Apr 17 #Javascript
理解javascript对象继承
Apr 17 #Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
Apr 17 #Javascript
You might like
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
PHP7常量数组用法分析
2016/09/26 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
Javascript的一种模块模式
2010/09/08 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
Vue 过滤器filters及基本用法
2017/12/26 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
原生js实现分页效果
2020/09/23 Javascript
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
Python简单实现enum功能的方法
2016/04/25 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
python3实现基于用户的协同过滤
2018/05/31 Python
python去除文件中重复的行实例
2018/06/29 Python
Python小进度条显示代码
2019/03/05 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python如何读取bin文件并下发串口
2019/07/05 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
使用npy转image图像并保存的实例
2020/07/01 Python
Python实现自动签到脚本功能
2020/08/20 Python
golang/python实现归并排序实例代码
2020/08/30 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
职工运动会邀请函
2014/02/02 职场文书
2015年司法所工作总结
2015/04/27 职场文书
2015年话务员工作总结
2015/04/29 职场文书
postgresql中如何执行sql文件
2023/05/08 PostgreSQL