欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

原生js二级联动效果

程序员文章站 2022-03-21 15:05:08
今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果。 //创建两个下拉列表 select标签 是下拉列表 var sel =...

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

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

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