有没有办法从jQuery Filterizr获取活动类别?

时间:2017-05-04 20:07:55

标签: javascript jquery

除非选择了某个类别,否则我想隐藏单个项目。我使用filteringStart回调来执行此操作。如何从filterizr对象获取活动类别数组?

1 个答案:

答案 0 :(得分:2)

看起来似乎没有公共方法可以在Filterizr库中获取活动过滤器。编写所需的JavaScript并不困难。

使用他们的一个例子,html看起来如下:

<ul class="nav nav-gallery filters-filteringModeSingle" id="filteringModeSingle">
    <li class="filtr-button filtr" data-fltr="all">All</li>
    <li class="filtr-button filtr" data-fltr="green">Green</li>
    <li class="filtr-button filtr filtr-active" data-fltr="orange">Orange</li>
    <li class="filtr-button filtr" data-fltr="purple">Purple</li>
    <li class="filtr-button filtr" data-fltr="mix">Mix</li>
</ul>

您可以按如下方式获取所选值的数组:

var selected = $.map($(".filtr-active").toArray(), function(el, i) {
    return $(el).data("fltr");
});

要根据所选的特定值执行某些操作,您可以执行以下操作:

if (selected.indexOf("green") !== -1) {
    console.log("You selected green!");
}

我希望这是有道理的!

编辑:

您可以通过调整选择器来获取未选择的过滤器。

var notSelected = $.map($(".filtr:not(.filtr-active)").toArray(), function (el, i) {
    return $(el).data("fltr");
});