今天说的这个是原生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 二级联动