原生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 相关文章推荐
鼠标滑在标题上显示图片的JS代码
Nov 19 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
Apr 03 Javascript
js操作iframe父子窗体示例
May 22 Javascript
JavaScript实现自动消除按钮功能的方法
Aug 05 Javascript
mui上拉加载功能实例详解
Apr 13 Javascript
vue-better-scroll 的使用实例代码详解
Dec 03 Javascript
详解关于微信setData回调函数中的坑
Feb 18 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
react结合bootstrap实现评论功能
May 30 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
jQuery实现移动端扭蛋机抽奖
Nov 08 jQuery
用javascript实现倒计时效果
Feb 09 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
php header示例代码(推荐)
2010/09/08 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
Python 文件读写操作实例详解
2014/03/12 Python
Python中正则表达式的用法实例汇总
2014/08/18 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
python paramiko模块学习分享
2017/08/23 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
中软国际Java程序员机试题
2012/08/19 面试题
电子商务专业学生的自我鉴定
2013/11/28 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
心得体会的写法
2014/09/05 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫