原生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 随机数产生6位数字
May 13 Javascript
JQquery的一些使用心得分享
Aug 01 Javascript
javascript正则匹配汉字、数字、字母、下划线
Apr 10 Javascript
javascript实现全角与半角字符的转换
Jan 07 Javascript
JavaScript里实用的原生API汇总
May 14 Javascript
Jq通过td获取同行其它列td的方法
Oct 05 Javascript
微信小程序动态添加分享数据
Jun 14 Javascript
AngularJS 最常用的八种功能(基础知识)
Jun 26 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
Aug 30 Javascript
vue移动端项目缓存问题实践记录
Oct 29 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
Jan 23 Javascript
jQuery实现动态生成年月日级联下拉列表示例
May 11 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
PHP中的按位与和按位或操作示例
2014/01/27 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
基于jquery的cookie的用法
2011/01/10 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python获取多线程及子线程的返回值
2017/11/15 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
数据库笔试题
2013/05/09 面试题
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
生产部岗位职责范文
2014/02/07 职场文书
2015年个人思想总结
2015/03/09 职场文书
停课通知书
2015/04/24 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
Python re.sub 反向引用的实现
2021/07/07 Python
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js