Комбо-фильтрация с изотопом?

Я пытаюсь фильтровать между 6 категориями с изотопом. В настоящее время у меня это работает, так что если cat1 выбран, это показывает cat1 предметы, однако, если я выберу cat1 а также cat2тогда это показывает оба cat1 а также cat2 Предметы. То, что я хочу сделать, это показывать только те элементы, которые имеют ОБА cat1 а также cat2, Не просто показать их отдельно. Это возможно?

Вот мой комбофильтр

var data = {
  accredited: 'seo social-media lead-generation marketing-automation blogging email-marketing'.split(' '),  
};


function getComboFilter( filters ) {
  var i = 0;
  var comboFilters = [];
  var message = [];

  for ( var prop in filters ) {
    message.push( filters[ prop ].join(' ') );
    var filterGroup = filters[ prop ];
    // skip to next filter group if it doesn't have any values
    if ( !filterGroup.length ) {
      continue;
    }
    if ( i === 0 ) {
      // copy to new array
      comboFilters = filterGroup.slice(0);
    } else {
      var filterSelectors = [];
      // copy to fresh array
      var groupCombo = comboFilters.slice(0); // [ A, B ]
      // merge filter Groups
      for (var k=0, len3 = filterGroup.length; k < len3; k++) {
        for (var j=0, len2 = groupCombo.length; j < len2; j++) {
          filterSelectors.push( groupCombo[j] + filterGroup[k] ); // [ 1, 2 ]
        }

      }
      // apply filter selectors to combo filters for next group
      comboFilters = filterSelectors;
    }
    i++;
  }

  var comboFilter = comboFilters.join(', ');
  return comboFilter;
}

Вот пример моих кнопок (флажки)

<div class="examples-filter-button-container" id="filterButtons">
        <div class="filter-buttons" data-group="accredited">
           <label>
              <input class="ex-button" type="checkbox" name="SEO" value=".SEO"><span>SEO</span>
           </label>
</div>
</div>

1 ответ

Вы можете использовать CSS-селекторы для изотопной фильтрации,

http://isotope.metafizzy.co/v1/docs/filtering.html

Так

$container.isotope({ filter: ".cat1.cat2" });

Будут показаны только элементы, которые имеют оба класса

Другие вопросы по тегам