原生js二级联动效果


Posted in Javascript onJune 20, 2017

今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果。

//创建两个下拉列表 select标签 是下拉列表
   var sel = document.createElement("select");
   var sel1 = document.createElement("select");
   //添加到body
   document.body.appendChild(sel);
   document.body.appendChild(sel1);
//   创建一个数组
   var firstSelectArr = ["未选择","医院","学校","公司","星座"];
   var detailFirstArr = ["未选择","院长","主任","大夫","护士"];
   var detailSecondArr = ["未选择","校长","老师","学生","主任"];
   var arr2 = ["未选择","CEO","职员","主任","下属"];
   var arr3 = ["未选择","白羊座","射手座","处女座","天秤座"];
   function addChild(arr,parentN){
    //封装函数
    for(var i=0;i<arr.length;i++){
    //创建 option节点
    var opt = document.createElement("option");
    //设置显示文字
    opt.innerText = arr[i];
    //把节点添加到sel中
    parentN.appendChild(opt);
    
   }
   }
   //调用函数 给第一个select添加option
   addChild(firstSelectArr,sel)
   
   //循环创建多个下拉选项
   
   //给第一个下拉列表添加onchange事件
   //onchange事件:当元素的值发生改变时,触发此事件。
   sel.onchange = function (){
//    selectdIndex.下拉列表的索引 
    console.log(sel.selectedIndex);
     switch (sel.selectedIndex){
      case 0:
      alert("未选择");
      break;
      case 1:
      delectOldOpt();
      addChild(detailFirstArr,sel1);
      break;
      case 2:
      delectOldOpt();
      addChild(detailSecondArr,sel1);
      break;
      case 3:
      delectOldOpt();
      addChild(arr2,sel1);
      break;
      case 4:
      delectOldOpt();
     addChild(arr3,sel1);
      break;
     }
     
     
    }
   //删除select原来的option
   function delectOldOpt(){
    //到这删除下拉列表中的选项
    for(var i=sel1.childNodes.length-1;i>=0;i--){
     //删除选项
     sel1.removeChild(sel1.childNodes[i]);
    }
    
   }

这样就完成了一个最简单的二级联动,希望可以帮到你们!

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

Javascript 相关文章推荐
JQuery 操作/获取table具体代码
Jun 13 Javascript
JavaScript中实现单体模式分享
Jan 29 Javascript
JavaScript页面模板库handlebars的简单用法
Mar 02 Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
Vue.js手风琴菜单组件开发实例
May 16 Javascript
Vue实现选择城市功能
May 27 Javascript
简单实现jQuery手风琴效果
Aug 18 jQuery
React-Native中禁用Navigator手势返回的示例代码
Sep 09 Javascript
详解微信小程序用定时器实现倒计时效果
Apr 30 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
angularjs下拉框空白的解决办法
Jun 20 #Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
Jun 20 #Javascript
20行js代码实现的贪吃蛇小游戏
Jun 20 #Javascript
详解vue-resource promise兼容性问题
Jun 20 #Javascript
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 #Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
Jun 19 #Javascript
vue中如何实现变量和字符串拼接
Jun 19 #Javascript
You might like
PHP字符串的连接的简单实例
2013/12/30 PHP
php的curl封装类用法实例
2014/11/07 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
ES6入门教程之Array.from()方法
2019/03/23 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python optparse模块使用实例
2015/04/09 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
使用Python进行QQ批量登录的实例代码
2018/06/11 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
PHP面试题附答案
2015/11/28 面试题
成语的广告词
2014/03/19 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
导游词之太原天龙山
2020/01/02 职场文书
Python实现文字pdf转换图片pdf效果
2022/04/03 Python