JavaScript

超轻量级php框架startmvc

原生js二级联动效果

更新时间:2020-05-18 22:12:01 作者:startmvc
今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果。//创建两

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

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

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

js 二级联动