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 String.replace的妙用
Sep 08 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
May 31 Javascript
详解vue.js2.0父组件点击触发子组件方法
May 10 Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
详谈表单重复提交的三种情况及解决方法
Aug 16 Javascript
EasyUI Tree树组件无限循环的解决方法
Sep 27 Javascript
JavaScript插件Tab选项卡效果
Nov 14 Javascript
Vue 项目代理设置的优化
Apr 17 Javascript
ES6入门教程之Array.from()方法
Mar 23 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
Apr 29 Javascript
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
JS实现数据动态渲染的竖向步骤条
Jun 24 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 编写的 25个游戏脚本
2009/05/11 PHP
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python练习程序批量修改文件名
2014/01/16 Python
Python正则表达式使用经典实例
2016/06/21 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
Ruby如何创建一个线程
2013/03/10 面试题
火锅店的活动方案
2014/08/15 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
运动会加油稿100字
2014/09/19 职场文书
五一劳动节活动总结
2015/02/09 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
预备党员介绍人意见
2015/06/01 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书