我现在有两个下拉框,第一个是一个选择班级的。第二个是选择学生的,现在就是先选择班级,然后再根据班级编号去获取学生下拉框的内容,因为数据库都有,所以我平时喜欢用集合,这个是二级联动吗,只能使用数组来进行二级联动吗,有源码更好
就是一个联动 。根据 第一个的 编号 获取 第二个 同学的数据
arr和nameData 都需要 换成 ajax 获取数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
</style>
</head>
<body>
班级:<select name="class" id="class">
<!-- <option value=""></option> -->
</select>
姓名:<select name="name" id="name">
<!-- <option value=""></option> -->
</select>
</body>
<script>
let clas = document.getElementById("class");
let name = document.getElementById("name");
let arr = [ //班级 数据
{
name: "初三一班",
id: 1
},
{
name: "初三二班",
id: 2
}
];
let clasStr = "";
let nameStr = "";
for (var i = 0; i < arr.length; i++) {
clasStr += `<option value=${arr[i].id}>${arr[i].name}</option>`
};
clas.innerHTML = clasStr;
clas.onchange = function (e) {
let val = clas.value;
nameStr = "";
//模拟请求 接口 需要传一个 id获取 班级下的人
setTimeout(() => {
let nameData = [
{
name: "莉莉",
id: 1
},
{
name: "ww",
id: 2
}
];
for (var i = 0; i < nameData.length; i++) {
nameStr += `<option value=${nameData[i].id}>${nameData[i].name}</option>`
};
name.innerHTML = nameStr;
}, 1000)
}
</script>
</html>
1、是级联选择器
2、我觉得应该是三级,年纪也分班吧?如果没有那就是二级
3、例如:数组结构:items: [{
text: "一年级",
value: "1-0",
children: [{
text: "1.1班",
value: "1-1",
children:[{
text:"小明",
value:"1-1-1"
}]
},
{
text: "1.2班",
value: "1-2",
children:[{
text:"小红",
value:"1-2-1"
}]
}
]
},
{
text: "二年级",
value: "2-0"
},
{
text: "三年级",
value: "3-0"
}]
1.简单介绍一下思路
<select onchange="change(this.value)">
<option value="1">班级一</option>
<option value="2">班级二</option>
<option value="3">班级三</option>
<option value="4">班级四</option>
</select>
<script>
function change(val) {
console.log(val);
// 在这里可以检测到每次修改的值 ,也就是 1 ,2 ,3,4
// 你这里获取到了班级的id 然后发起请求去获取学生的信息
}
</script>
可以认为这个是二级联动,你所说的的集合和数组都可以实现啊。
有两种做法:
1、点击班级时调用查询学生接口
2、一次接口把数据都查询出来,然后组合好返回给前端
就是一个正常的联动查询,后台写两个简单的接口就行了,一个是获取所有班级下拉框的list数据,一个是根据班级id获取所有学生list的数据
可以用二级联动的,也可以使用两个selece下拉框啊
从业务逻辑来说,这就是一个二级联动。
具体的实现,其实还依据你数据提供的规则。
此外,如果数据量相对较少,推荐还是一次性获取数据。
这样效果的实现就成了纯前端处理啦。