原生js二级联动

今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果。 


1
//创建两个下拉列表 select标签 是下拉列表 2 var sel = document.createElement("select"); 3 var sel1 = document.createElement("select"); 4 //添加到body 5 document.body.appendChild(sel); 6 document.body.appendChild(sel1); 7 // 创建一个数组 8 var firstSelectArr = ["未选择","医院","学校","公司","星座"]; 9 var detailFirstArr = ["未选择","院长","主任","大夫","护士"]; 10 var detailSecondArr = ["未选择","校长","老师","学生","主任"]; 11 var arr2 = ["未选择","CEO","职员","主任","下属"]; 12 var arr3 = ["未选择","白羊座","射手座","处女座","天秤座"]; 13 function addChild(arr,parentN){ 14 //封装函数 15 for(var i=0;i<arr.length;i++){ 16 //创建 option节点 17 var opt = document.createElement("option"); 18 //设置显示文字 19 opt.innerText = arr[i]; 20 //把节点添加到sel中 21 parentN.appendChild(opt); 22 23 } 24 } 25 //调用函数 给第一个select添加option 26 addChild(firstSelectArr,sel) 27 28 //循环创建多个下拉选项 29 30 //给第一个下拉列表添加onchange事件 31 //onchange事件:当元素的值发生改变时,触发此事件。 32 sel.onchange = function (){ 33 // selectdIndex.下拉列表的索引 34 console.log(sel.selectedIndex); 35 switch (sel.selectedIndex){ 36 case 0: 37 alert("未选择"); 38 break; 39 case 1: 40 delectOldOpt(); 41 addChild(detailFirstArr,sel1); 42 break; 43 case 2: 44 delectOldOpt(); 45 addChild(detailSecondArr,sel1); 46 break; 47 case 3: 48 delectOldOpt(); 49 addChild(arr2,sel1); 50 break; 51 case 4: 52 delectOldOpt(); 53 addChild(arr3,sel1); 54 break; 55 } 56 57 58 } 59 //删除select原来的option 60 function delectOldOpt(){ 61 //到这删除下拉列表中的选项 62 for(var i=sel1.childNodes.length-1;i>=0;i--){ 63 //删除选项 64 sel1.removeChild(sel1.childNodes[i]); 65 } 66 67 } 68
    这样就完成了一个最简单的二级联动,希望可以帮到你们!!!!

 

转载于:https://www.cnblogs.com/user-5253/p/7050682.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值