Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按单击Jquery的多个类进行筛选_Jquery_Filter - Fatal编程技术网

按单击Jquery的多个类进行筛选

按单击Jquery的多个类进行筛选,jquery,filter,Jquery,Filter,我需要制作一个多重过滤器,通过单击.tax,可以隐藏或不隐藏用户的选择。我需要按元素文本过滤 $(文档).ready(函数(){ $('.tax.price')。单击(函数(){ 让价格=$(this.text(); $(this.toggleClass('active'); $('.list>.item')。每个(函数(){ if(price==$(this).find('.price').text()){ $(this.removeClass('hide'); }否则{ $(this.ad

我需要制作一个多重过滤器,通过单击
.tax
,可以隐藏或不隐藏用户的选择。我需要按元素文本过滤

$(文档).ready(函数(){
$('.tax.price')。单击(函数(){
让价格=$(this.text();
$(this.toggleClass('active');
$('.list>.item')。每个(函数(){
if(price==$(this).find('.price').text()){
$(this.removeClass('hide');
}否则{
$(this.addClass('hide');
}
});
});
$('.tax.category')。单击(函数(){
让category=$(this.text();
$(this.toggleClass('active');
$('.list>.item')。每个(函数(){
if(category=$(this).find('.category').text()){
$(this.removeClass('hide');
}否则{
$(this.addClass('hide');
}
});
});
});
.list{
显示器:flex;
柔性流动:柱;
柔性包装:包装;
}
.主动{
颜色:红色;
}
.隐藏{
显示:无;
}

  • 免费
  • 100美元
  • 类别1
  • 第二类
第2类 $100 第一类 $100 第一类 自由的
您可以将
数据属性
添加到
.tax
元素中,只需知道其
价格
还是
类别
。然后,使用此
数据属性
从其他元素中删除
活动
类,并仅保留一个
活动
元素

现在,在每个
循环中,您可以有两个条件,一个选项将被选择,或者两个选项都被选择,这取决于此更改
&&
|
,并显示符合该条件的div

演示代码

$(文档).ready(函数(){
$('.price,.category')。单击(函数(){
var data_name=$(this).data(“name”)
$(“+data_name).not(this).removeClass('active');//从其他文件中删除active。。
$(“.item”).addClass('hide');//隐藏项目
$(this.toggleClass('active');
//获取活动类的文本值。。
var price=$(“.price.active”).text().trim();
var category=$(“.category.active”).text().trim();
$('.list>.item')。每个(函数(){
var inside_price=$(this).find('.price').text()
var inside_category=$(this).find('.category').text()
//将逻辑更改为| |和&&取决于活动类
var use_或_and=($(“.price.active”).length&&$(“.category.active”).length?(价格==内部_价格和类别==内部_类别):(价格==内部_价格| |类别==内部_类别)
如果(使用_或_和){
$(this.removeClass('hide');
}
});
});
});
.list{
显示器:flex;
柔性流动:柱;
柔性包装:包装;
}
.主动{
颜色:红色;
}
.隐藏{
显示:无;
}

  • 免费
  • $100
  • 类别1
  • 第2类
第2类 $100 第一类 $100 第一类 自由的
代码似乎如您所述正常工作。你能详细说明你遇到的问题吗。另外请注意,如果您在问题中包含所有相关代码,您会得到更好的答案,因为人们阅读和理解您的代码更容易、更快。我已经在这个实例中为您编辑了它。在我的代码中,它可以选择所有类别,我希望一次只能选择一个类别。示例:免费和类别1✅ (像那样)免费,100美元⛔ (并非如此)