2017-05-04 13 views

答えて

2

Filterizrライブラリでアクティブなフィルタを取得するパブリックメソッドのように見えません。しかし、それを理解するために必要なJavaScriptを書くことはそれほど難しくありません。

<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"); 
}); 

特定の値に基づいて何かを行うには、次のようなHTMLが見えるその例の一つを、使用

選択されている場合、次の操作を行うことができます:

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"); 
}); 
+0

ウェイン。 flitr-activeクラスに気付かなかった。 – IAmNaN

+0

しかし、私はそれを試してみましたが、そのクラスは設定されていません。他のクラスに設定されたfilteredOutというクラスの逆がありますので、おそらく私はそれを扱うことができます。 – IAmNaN

+0

@IAmNaN私は選択されていないフィルタを取得するためのセレクタで答えを更新しました:) –

関連する問題