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 相关文章推荐
判断是否安装flash player及当前版本的JS代码
Aug 08 Javascript
javascript修改表格背景色实例代码分享
Dec 10 Javascript
jquery单选框radio绑定click事件实现方法
Jan 14 Javascript
浅析JavaScript动画
Jun 10 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
JavaScript中splice与slice的区别
May 09 Javascript
VUE前端cookie简单操作
Oct 17 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
May 07 Javascript
vue环形进度条组件实例应用
Oct 10 Javascript
浅谈Vue的响应式原理
May 30 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
Jul 15 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 图片上添加透明度渐变的效果
2009/06/29 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
python 构造三维全零数组的方法
2018/11/12 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
VSCode配合pipenv搞定虚拟环境的实现方法
2020/05/17 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
什么是数据抽象
2016/11/26 面试题
学前教育专业毕业生自荐信
2013/10/03 职场文书
年终总结会议主持词
2014/03/17 职场文书
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS