纯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 相关文章推荐
javascript:void(0)使用探讨
Aug 27 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
Sep 01 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
JavaScript中的函数模式详解
Feb 11 Javascript
javascript实现简单计算器效果【推荐】
Apr 19 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
VUE脚手架具体使用方法
May 20 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
Oct 09 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 Javascript
如何理解Vue前后端数据交互与显示
May 10 Vue.js
gojs实现蚂蚁线动画效果
Feb 18 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(3)
2006/10/09 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
类之Prototype.js学习
2007/06/13 Javascript
JQuery 入门实例1
2009/06/25 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python中global用法实例分析
2015/04/30 Python
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Python实现新浪博客备份的方法
2016/04/27 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
python 有效的括号的实现代码示例
2019/11/11 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
有趣的广告词
2014/03/18 职场文书
求职信结尾怎么写
2014/05/26 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
办理房产证委托书
2014/09/18 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL