纯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 相关文章推荐
判断滚动条到底部的JS代码
Nov 04 Javascript
JQuery基础语法小结
Feb 27 Javascript
jquery实现用户打分评分特效
May 28 Javascript
jQuery实现三级菜单的代码
May 09 Javascript
vue2.0父子组件间通信的实现方法
Apr 19 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
Nov 14 Javascript
基于layui数据表格以及传数据的方式
Aug 19 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 Javascript
js实现适配移动端的拖动效果
Jan 13 Javascript
vue 内联样式style中的background用法说明
Aug 05 Javascript
原生js实现简单轮播图
Oct 26 Javascript
原生JS实现弹幕效果的简单操作指南
Nov 10 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
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
smarty中post用法实例
2014/11/28 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
对象题目的一个坑 理解Javascript对象
2015/12/22 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
python的unittest测试类代码实例
2017/12/07 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python实现对adb命令封装
2020/03/06 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
园林施工员岗位职责
2013/12/11 职场文书
新学期决心书
2014/03/11 职场文书
文明市民先进事迹
2014/05/15 职场文书