原生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 按键盘上的enter事件
May 11 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
Mar 19 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
Aug 12 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
Jan 27 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
js代码延迟一定时间后执行一个函数的实例
Feb 15 Javascript
JavaScript学习笔记之函数记忆
Sep 06 Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
jQuery实现简单弹幕效果
Nov 28 jQuery
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
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 Smarty date_format [格式化时间日期]
2010/03/15 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
Yii配置文件用法详解
2014/12/04 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
浅谈python迭代器
2017/11/08 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
中学生期中自我鉴定
2014/04/20 职场文书
工业设计专业自荐书
2014/06/05 职场文书
文秘应届生求职信
2014/07/05 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年体育工作总结
2014/11/24 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
python xlwt模块的使用解析
2021/04/13 Python
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python
redis 解决库存并发问题实现数量控制
2022/04/08 Redis