原生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 trim函数 去空格函数与正则集锦
Nov 20 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
Dec 24 Javascript
功能强大的Bootstrap效果展示(二)
Aug 03 Javascript
微信小程序 tabs选项卡效果的实现
Jan 05 Javascript
鼠标经过出现气泡框的简单实例
Mar 17 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
Dec 22 Javascript
JavaScript中严格判断NaN的方法
Feb 16 Javascript
Vue 页面跳转不用router-link的实现代码
Apr 12 Javascript
Laravel admin实现消息提醒、播放音频功能
Jul 10 Javascript
js实现飞机大战小游戏
Aug 26 Javascript
javascript代码简写的几种常用方式汇总
Aug 23 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中数组的三种排序方法分享
2012/05/07 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
vue 动态创建组件的两种方法
2020/12/31 Vue.js
Python制作简易注册登录系统
2016/12/15 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
毕业研究生的自我鉴定
2013/11/30 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
个人投资计划书
2014/05/01 职场文书
校园标语大全
2014/06/19 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书