以下是一个示例代码,演示如何使用复选框进行筛选:
HTML代码:
选项1
选项2
选项3
- 项目1
- 项目2
- 项目3
JavaScript代码:
// 获取复选框元素
var option1 = document.getElementById("option1");
var option2 = document.getElementById("option2");
var option3 = document.getElementById("option3");
// 获取项目列表元素
var list = document.getElementById("list");
// 监听复选框的变化事件
option1.addEventListener("change", filterItems);
option2.addEventListener("change", filterItems);
option3.addEventListener("change", filterItems);
// 筛选项目函数
function filterItems() {
// 获取选中的复选框值
var selectedOptions = [];
if (option1.checked) {
selectedOptions.push(option1.value);
}
if (option2.checked) {
selectedOptions.push(option2.value);
}
if (option3.checked) {
selectedOptions.push(option3.value);
}
// 显示或隐藏项目
var items = list.getElementsByTagName("li");
for (var i = 0; i < items.length; i++) {
var item = items[i];
if (selectedOptions.length === 0) {
// 如果没有选项被选中,则显示所有项目
item.style.display = "block";
} else {
// 否则,只显示符合选项的项目
if (selectedOptions.indexOf(item.textContent) > -1) {
item.style.display = "block";
} else {
item.style.display = "none";
}
}
}
}
此示例中,我们首先获取了复选框元素和项目列表元素。然后,我们监听每个复选框的变化事件,并在事件触发时调用filterItems
函数进行筛选。
filterItems
函数首先获取选中的复选框值,并存储在selectedOptions
数组中。然后,它遍历项目列表中的每个项目,并根据选中的复选框值来决定是否显示该项目。如果没有选中的复选框,将显示所有项目;否则,只显示符合选项的项目。
在示例中,选中的复选框值与项目的文本内容进行比较。如果复选框值与项目文本内容匹配,则显示项目;否则,隐藏项目。你可以根据自己的需求进行修改。
下一篇:按复杂对象字段查询