Javascript 两级过滤器或/和
我创建了一个2级过滤器,其中第一个过滤器是OR,第二个是and 这意味着您可以只选择过滤器1的一个选项,并在过滤器2中选择任意多个选项 该过滤器通过使用类来工作 正在筛选的元素列表具有特定的类别,首先是一个月(使用筛选1筛选),然后是类别(使用筛选2筛选) 使用过滤器时,如果过滤器1选择了月份,则将显示该月份为类的元素 但是一旦选择了一个类别,它就必须显示该月份以及该类别的元素 到目前为止,它是有效的 这个想法是,当选择第二个类别时,它必须显示该特定月份的元素,并且选择其中一个类别Javascript 两级过滤器或/和,javascript,jquery,html,Javascript,Jquery,Html,我创建了一个2级过滤器,其中第一个过滤器是OR,第二个是and 这意味着您可以只选择过滤器1的一个选项,并在过滤器2中选择任意多个选项 该过滤器通过使用类来工作 正在筛选的元素列表具有特定的类别,首先是一个月(使用筛选1筛选),然后是类别(使用筛选2筛选) 使用过滤器时,如果过滤器1选择了月份,则将显示该月份为类的元素 但是一旦选择了一个类别,它就必须显示该月份以及该类别的元素 到目前为止,它是有效的 这个想法是,当选择第二个类别时,它必须显示该特定月份的元素,并且选择其中一个类别 例如: 过
例如: 过滤器1:七月 筛选2:社团,活动 结果: 活动(七月社团)-->只是其中一个类别 活动(7月活动)-->只是其中一个类别 活动(7月$Campaigns)-->两个类别
因为您的收音机和复选框以两种不同的方式工作,所以您需要创建两个变量,一个用于
[type=“radio”]:checked
,另一个用于[type=“checkbox”]:checked
,并形成选择器以从中显示
对于所选的每个类别,使用所选月份将其合并,然后使用,
将其合并
例如:
第一组:七月
过滤器2:社团、活动
=>已创建选择器:.event\u item.july.societies、.event\u item.july.magnetics
请解释什么不起作用。当我运行您的小提琴时,它似乎运行得很好,但在您的示例中(在小提琴中),它已经以这种方式运行了!如果您选择
july
,然后选择societies
和campaiments
作为筛选器,则不存在筛选器,因此不会显示任何内容。。。但是,如果您选择sportsclub
作为筛选器,则仍将显示该事件。在我的示例中,它显示已选择所有类别的元素。我想要实现的是显示至少有一个类别的元素,而不是所有类别的元素
$('.press').click( function() {
const checked = $(":checked");
var filtered = "";
if (checked.length === 0) {
return $(".event_item").show();
}
$(".event_item").hide();
checked.each(function() {
filtered = filtered + "." + this.id;
});
$(".event_item" + filtered ).show();
});