原生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]); } }
这样就完成了一个最简单的二级联动,希望可以帮到你们!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。