Jquery 如果没有数据,禁用筛选按钮
我想知道如果没有相应的数据,如何禁用过滤器按钮(添加Jquery 如果没有数据,禁用筛选按钮,jquery,filtering,Jquery,Filtering,我想知道如果没有相应的数据,如何禁用过滤器按钮(添加类“disabled”) 下面是我当前的代码。在本例中,如果没有“Category 2”的数据,我想将类“is none”添加到过滤器按钮 谢谢你的帮助 /*显示和隐藏筛选的项目*/ $(“.filter简单按钮”)。单击(函数(){ var值=$(this.attr('data-filter'); 如果(值=“全部”){ $('.filter simple item').show('1000'); }否则{ $(“.filter simp
类“disabled”
)
下面是我当前的代码。在本例中,如果没有“Category 2”
的数据,我想将类“is none”
添加到过滤器按钮
谢谢你的帮助
/*显示和隐藏筛选的项目*/
$(“.filter简单按钮”)。单击(函数(){
var值=$(this.attr('data-filter');
如果(值=“全部”){
$('.filter simple item').show('1000');
}否则{
$(“.filter simple item”).not('.+value).hide('3000');
$('.filter简单项')。filter('.+value)。show('3000');
}
});
/*更改过滤器按钮上的活动类*/
$('.filter简单按钮')。单击(函数(){
$(this.sides().removeClass('is-active');
$(this.addClass('is-active');
});代码>
所有项目
第一类
第2类
第3类
第1类中的职位#1
第1类第2个职位
第3类第3栏
第1类第4个职位
这是正确的代码片段。
所有项目
第一类
第2类
第3类
第1类中的职位#1
第1类第2个职位
第3类第3栏
第1类第4个职位
/*显示和隐藏筛选的项目*/
$(“.filter简单按钮”)。单击(函数(){
var值=$(this.attr('data-filter');
如果(值=“全部”){
$('.filter simple item').show('1000');
}否则{
$(“.filter simple item”).not('.+value).hide('3000');
$('.filter简单项')。filter('.+value)。show('3000');
}
});
/*更改过滤器按钮上的活动类*/
$('.filter简单按钮')。单击(函数(){
$(this.sides().removeClass('is-active');
$(this.addClass('is-active');
如果(!$(此).hasClass(“类别-2”)){
$(此).addClass(“无”);
}
});
让我知道它是否解决了问题。
https://codepen.io/niazi71/pen/vpPJBg
请完成我为您制作的代码片段您如何确定按钮“没有数据”?您似乎缺少HTML的重要部分。还请注意,您可以将这些单独的单击事件处理程序加入到oneHello!谢谢你的回复。我更新了片段。在本例中,我想对“Category 2”按钮应用一个特定的“disabled”类,因为它不返回任何帖子。
There you go with the correct snippet.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="button-group">
<button class="button filter-simple-button is-active" data-filter="all">All items</button>
<button class="button hollow filter-simple-button" data-filter="category-1">Category 1</button>
<button class="button hollow filter-simple-button" data-filter="category-2">Category 2</button>
<button class="button hollow filter-simple-button" data-filter="category-3">Category 3</button>
</div>
<div class="grid-x grid-padding-x">
<div class="filter-simple-item category-1">
Post #1 in Category 1
</div>
<div class="filter-simple-item category-1">
Post #2 in Category 1
</div>
<div class="filter-simple-item category-3">
Post #3 in Category 3
</div>
<div class="filter-simple-item category-1">
Post #4 in Category 1
</div>
/* Shows and hides filtered items. */
$(".filter-simple-button").click(function() {
var value = $(this).attr('data-filter');
if (value === "all") {
$('.filter-simple-item').show('1000');
} else {
$(".filter-simple-item").not('.' + value).hide('3000');
$('.filter-simple-item').filter('.' + value).show('3000');
}
});
/* Changes active class on filter buttons */
$('.filter-simple-button').click(function() {
$(this).siblings().removeClass('is-active');
$(this).addClass('is-active');
if (!$(this).hasClass("category-2")){
$(this).addClass("is-none");
}
});
Let me know if it solves the issue.
https://codepen.io/niazi71/pen/vpPJBg