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 相关文章推荐
javascript创建和存储cookie示例
Jan 07 Javascript
js文件包含的几种方式介绍
Sep 28 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
JavaScript实现随机替换图片的方法
Apr 16 Javascript
JavaScript是如何实现继承的(六种方式)
Mar 31 Javascript
js实现统计字符串中特定字符出现个数的方法
Aug 02 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
Dec 19 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
Feb 05 Javascript
微信小程序实现折叠与展开文章功能
Jun 12 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
js实现小时钟效果
Mar 25 Javascript
解决iView Table组件宽度只变大不变小的问题
Nov 13 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
在Windows中安装Apache2和PHP4的权威指南
2006/10/09 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
php和nginx交互实例讲解
2019/09/24 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
Python 第一步 hello world
2009/09/25 Python
Python中的Numpy入门教程
2014/04/26 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
护士毕业自我鉴定
2014/02/07 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
音乐教师求职信
2014/06/28 职场文书
武侯祠导游词
2015/02/04 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书