首页 > 编程 > JavaScript > 正文

原生js二级联动效果

2019-11-19 16:18:10
字体:
来源:转载
供稿:网友

今天说的这个是原生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]);    }       }

这样就完成了一个最简单的二级联动,希望可以帮到你们!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表