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实现可编辑表格并用AJAX提交到服务器修改数据
Dec 27 Javascript
jQuery源码分析之Event事件分析
Jun 07 Javascript
JQuery实现图片轮播效果
Sep 15 Javascript
浅析AngularJs HTTP响应拦截器
Dec 28 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
Dec 16 Javascript
jQuery validate 验证radio实例
Mar 01 Javascript
解决Vue编译时写在style中的路径问题
Sep 21 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
node puppeteer(headless chrome)实现网站登录
May 09 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
Jun 01 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
WebStorm中如何将自己的代码上传到github示例详解
Oct 28 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版本如何选择?应该使用哪个版本?
2015/05/13 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
js 获取、清空input type=&quot;file&quot;的值示例代码
2014/02/19 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
浅析jquery与checkbox的checked属性的问题
2016/04/27 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
python生成任意频率正弦波方式
2020/02/25 Python
python安装后的目录在哪里
2020/06/21 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
农民工创业典型事迹
2014/01/25 职场文书
旷课检讨书3000字
2014/02/04 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
公司节能减排倡议书
2014/05/14 职场文书
乒乓球比赛通知
2015/04/27 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python