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,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
jquery代码实现简单的随机图片瀑布流效果
Apr 20 Javascript
浅谈jQuery.easyui的datebox格式化时间
Jun 25 Javascript
Web Uploader文件上传插件使用详解
May 10 Javascript
深入理解jquery自定义动画animate()
May 24 Javascript
微信小程序 引用其他js文件实现代码
Feb 22 Javascript
vue增删改查的简单操作
Jul 15 Javascript
使用JS动态显示文本
Sep 09 Javascript
vue语法之拼接字符串的示例代码
Oct 25 Javascript
React 使用browserHistory项目访问404问题解决
Jun 01 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
Dec 03 Javascript
vue项目中将element-ui table表格写成组件的实现代码
Jun 12 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
星际玩家的三大定律
2020/03/04 星际争霸
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
Python字符串详细介绍
2015/05/09 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python skimage 连通性区域检测方法
2018/06/21 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
自我鉴定的范文
2013/10/03 职场文书
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
防沙治沙典型材料
2014/05/07 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
大学生暑假实习总结
2015/07/13 职场文书
大学校园招聘会感想
2015/08/10 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers