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 相关文章推荐
Use Word to Search for Files
Jun 15 Javascript
jquery增加时编辑jqGrid(实例代码)
Nov 08 Javascript
JS+JSP checkBox 全选具体实现
Jan 02 Javascript
基于jQuery实现文本框缩放以及上下移动功能
Nov 24 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
Jun 05 Javascript
JavaScript编写推箱子游戏
Jul 07 Javascript
JavaScript如何实现组合列表框中元素移动效果
Mar 01 Javascript
jQuery简单实现title提示效果示例
Aug 01 Javascript
详解js的异步编程技术的方法
Feb 09 Javascript
angular bootstrap timepicker TypeError提示怎么办
Jun 13 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
Apr 17 Javascript
Rust中的Struct使用示例详解
Aug 14 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的ASCII码转换类
2013/07/05 PHP
php加密解密字符串示例
2016/10/13 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
jQuery实现统计复选框选中数量
2014/11/24 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
Python yield 小结和实例
2014/04/25 Python
浅谈Python的文件类型
2016/05/30 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
对pandas处理json数据的方法详解
2019/02/08 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
Python如何绘制日历图和热力图
2020/08/07 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
解释一下抽象方法和抽象类
2016/08/27 面试题
应届生自荐信范文
2014/02/21 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers