2016-04-19 19 views
0

list.jsを使用して、リスト上で単純なフィルタリングを行っていますが、ちょっとした問題に取り組んでいます。あなたはクリックフィルタは次のようになりデータ属性に複数の値を持つList.jsフィルタ

<li class="grid-item" data-attribute="attr1, attr2, attr3" data-attributeTwo="a2"> 

を::

リストのいくつかの項目は次のようになります

<li data-filter="attr1">Attr1</li> 
<li data-filter="attr2">Attr1</li> 
<li data-filter="attr3">Attt3</li> 

そして私は私のフィルタ機能は次のように設定している:

$('.filter-nav ul li').on('click', function() { 

      var filterValue = $(this).attr('data-filter'); 

      list.filter(function(item) { 
       if (
       item.values().attribute == filterValue || 
       item.values().attributeTwo == filterValue || 
      ) { 
       return true; 
       } else { 
       return false; 
       } 
      }); 
      return false; 
      }); 

コンマ区切りの属性をそれぞれの値でフィルタリングすることはできますか?のように、私はAttr1、Attr2、またはAttr3をクリックすることができ、フィルタは適切なものが吐き出されるでしょうか?

答えて

0

私はそれを持っていると思います。私はそう

var filterValue = $(this).attr('data-filter'); 
var solutionValue = String(filterValue); 

list.filter(function(item) { 

       if (
       item.values().solution.indexOf(solutionValue) >= 0 
      ) { 
       return true; 
       } else { 
       return false; 
       } 
      }); 
      return false; 
のindexOf

に対してそれを確認し、その後、私のfilterValueを取り、solutionValueと呼ばれる文字列(にして、それを向け、
関連する問題