原生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 相关文章推荐
打开超链需要“确认”对话框的方法
Mar 08 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
Mar 02 Javascript
图解prototype、proto和constructor的三角关系
Jul 31 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
Dec 26 Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
仿京东快报向上滚动的实例
Dec 13 Javascript
js删除数组中的元素delete和splice的区别详解
Feb 03 Javascript
fastadmin中调用js的方法
May 14 Javascript
mpvue 项目初始化及实现授权登录的实现方法
Jul 20 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
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
PHP文件操作实现代码分享
2011/09/01 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
详解Node.js如何开发命令行工具
2016/08/14 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
python lambda的使用详解
2021/02/26 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
高中毕业自我评价
2014/02/08 职场文书
楼面部长岗位职责范本
2014/02/14 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
司机个人年终总结
2015/03/03 职场文书
文明旅游倡议书
2015/04/28 职场文书
Python List remove()实例用法详解
2021/08/02 Python
golang中的struct操作
2021/11/11 Golang
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python