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 对象的属性和方法4种不同的类型
Mar 19 Javascript
Web跨浏览器进程通信(Web跨域)
Apr 17 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
Apr 02 Javascript
jQuery实现鼠标经过图片预览大图效果
Apr 10 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
May 08 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
Jun 12 Javascript
Bootstrap基本样式学习笔记之表格(2)
Dec 07 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
Mar 25 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
Aug 08 Javascript
使用JS实现导航切换时高亮显示的示例讲解
Aug 22 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 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查询搜索引擎排名位置的代码
2010/01/05 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
跟老齐学Python之折腾一下目录
2014/10/24 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
基于Django实现日志记录报错信息
2019/12/17 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Python中格式化字符串的四种实现
2020/05/26 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
教师中国梦演讲稿
2014/04/23 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis
Python sklearn分类决策树方法详解
2022/09/23 Python