纯js三维数组实现三级联动效果


Posted in Javascript onFebruary 07, 2017

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下

<!DOCTYPE html> 
<html> 
<head lang="en"> 
  <meta charset="UTF-8"> 
  <title></title> 
</head> 
<body> 
<p>三级联动效果(纯JS实现)</p> 
<div> 
  专业方向: <select name="sel1" id="sel1"> 
  <option>--请选择专业--</option> 
  <option>JAVA</option><option>PHP</option><option>UI</option> 
  </select> 
</div> 
<div> 
  班级名称: <select name="sel2" id="sel2"> 
  <option>--请选择班级--</option> 
</select> 
</div> 
<div> 
  学生姓名: <select name="sel3" id="sel3"> 
  <option>--请选择学生--</option> 
</select> 
</div> 
<p> 
  您选择的内容是: <span id="sptext"></span> 
</p> 
<script> 
  var myclass = [ 
      [['JAVA班级01'],['JAVA班级02'],['JAVA班级03']], 
      [['PHP班级01'],['PHP班级02'],['PHP班级03']], 
      [['UI班级01'],['UI班级02'],['UI班级03']] 
  ]; 
  var mystudy= [ 
    [ //第一维代表专业 , 第二维代表该专业的班级 ,第三维代表该班级的学生 
      [['JAVA班级01学生01'],['JAVA班级01学生02'],['JAVA班级01学生03'],['JAVA班级01学生04']], 
      [['JAVA班级02学生01'],['JAVA班级02学生02'],['JAVA班级02学生03'],['JAVA班级02学生04']], 
      [['JAVA班级03学生01'],['JAVA班级03学生02'],['JAVA班级03学生03'],['JAVA班级03学生04']] 
    ], 
    [ 
      [['PHP班级01学生01'],['PHP班级01学生02'],['PHP班级01学生03'],['PHP班级01学生04']], 
      [['PHP班级02学生01'],['PHP班级02学生02'],['PHP班级02学生03'],['PHP班级02学生04']], 
      [['PHP班级03学生01'],['PHP班级03学生02'],['PHP班级03学生03'],['PHP班级03学生04']] 
    ], 
    [ 
      [['UI班级01学生01'],['UI班级01学生02'],['UI班级01学生03'],['UI班级01学生04']], 
      [['UI班级02学生01'],['UI班级02学生02'],['UI班级02学生03'],['UI班级02学生04']], 
      [['UI班级03学生01'],['UI班级03学生02'],['UI班级03学生03'],['UI班级03学生04']] 
    ] 
  ]; 
document.getElementById("sel1").onchange = function(){ 
  //获取选择的选项的索引值(从1开始的,没有返回-1) 
  var selectNum = this.selectedIndex; 
  //清空原来的选项 
  document.getElementById("sel2").length=1; 
  document.getElementById("sel3").length=1; 
  //循环添加子节点 
  for(var i=0;i<myclass[selectNum-1].length;i++){ 
    //创建元素节点 
    var node =document.createElement("OPTION"); 
    //创建文本节点 
    var text = document.createTextNode(myclass[selectNum-1][i]); 
     node.appendChild(text); 
    document.getElementById("sel2").appendChild(node); 
  } 
}; 
  document.getElementById("sel2").onchange = function(){ 
    document.getElementById("sel3").length=1; 
    var selectStudentNum = this.selectedIndex; 
    var selectClassNum = document.getElementById("sel1").selectedIndex; 
    for(var i=0;i<mystudy[selectClassNum-1][selectStudentNum-1].length;i++){ 
      var node =document.createElement("OPTION"); 
      var text = document.createTextNode(mystudy[selectClassNum-1][selectStudentNum-1][i]); 
      node.appendChild(text); 
      document.getElementById("sel3").appendChild(node); 
    } 
  } 
</script> 
</body> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
JavaScipt基本教程之JavaScript语言的基础
Jan 16 Javascript
JavaScript设置FieldSet展开与收缩
May 15 Javascript
详解JavaScript UTC时间转换方法
Jan 07 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
Mar 23 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
Jun 12 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
BootstrapTable refresh 方法使用实例简单介绍
Feb 20 Javascript
动态加载权限管理模块中的Vue组件
Jan 16 Javascript
react native 文字轮播的实现示例
Jul 27 Javascript
webpack开发环境和生产环境的深入理解
Nov 08 Javascript
使用nvm和nrm优化node.js工作流的方法
Jan 17 Javascript
在点击div中的p时,如何阻止事件冒泡
Feb 07 #Javascript
bootstrap vue.js实现tab效果
Feb 07 #Javascript
Node连接mysql数据库方法介绍
Feb 07 #Javascript
jQuery监听浏览器窗口大小的变化实例
Feb 07 #Javascript
Bootstrap table表格简单操作
Feb 07 #Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 #Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
Feb 07 #Javascript
You might like
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
php上传图片存入数据库示例分享
2014/03/11 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
师范生教师实习自我鉴定
2013/09/27 职场文书
毕业生在校学习的自我评价分享
2013/10/08 职场文书
初中作文评语大全
2014/04/23 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
2014年民政工作总结
2014/11/26 职场文书
财务个人年度总结范文
2015/02/26 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
mysql数据库入门第一步之创建表
2021/05/14 MySQL
深入理解Pytorch微调torchvision模型
2021/11/11 Python
Golang 结构体数据集合
2022/04/22 Golang
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis