纯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 相关文章推荐
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
Mar 06 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 Javascript
jquery限定文本框只能输入数字即整数和小数
Nov 29 Javascript
JS实现自适应高度表单文本框的方法
Feb 25 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
轻松掌握JavaScript代理模式
Aug 26 Javascript
浅析Ajax语法
Dec 05 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
Jan 12 Javascript
探秘vue-rx 2.0(推荐)
Sep 21 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
Feb 27 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
Apr 25 Javascript
通过vue刷新左侧菜单栏操作
Aug 06 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
附件名前加网站名
2008/03/23 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
详解json在php中的应用
2018/09/30 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
JS解析url查询参数的简单代码
2017/08/06 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
Vue 一键清空表单的实现方法
2020/02/07 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
Python Tkinter基础控件用法
2014/09/03 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
详解python配置虚拟环境
2019/04/08 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
大学生水果店创业计划书
2014/01/28 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python