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 相关文章推荐
window.open的功能全解析
Oct 10 Javascript
jquery 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
MooBox 基于Mootools的对话框插件
Jan 20 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
jquery实现表单输入时提示文字滑动向上效果
Aug 10 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 Javascript
详解vue 配合vue-resource调用接口获取数据
Jun 22 Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 Javascript
在create-react-app中使用css modules的示例代码
Jul 31 Javascript
js for终止循环 跳出多层循环
Oct 04 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
Jul 23 Javascript
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
基于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文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
php获取域名的google收录示例
2014/03/24 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
js实现烟花特效
2020/03/02 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
Python列表生成器的循环技巧分享
2015/03/06 Python
python实现超简单端口转发的方法
2015/03/13 Python
Python中static相关知识小结
2018/01/02 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
200行python代码实现2048游戏
2019/07/17 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
CSS3 开发工具收集
2010/04/17 HTML / CSS
80后职场人的职业生涯规划
2014/03/08 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
七一活动主持词
2015/06/29 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python