同位体組み合わせフィルターを実装しようとしています。3 つのフィルターの 1 つを 1 つの選択に設定する必要があり、他の 2 つのフィルターはこれらのフィルターに従ってすべての項目を表示する必要があります。1 つの例外を除いて、すべて正常に動作します。最初にクリックすると、事前選択が「失われ」、事前選択されたフィルターに従ってすべてのアイテムが表示されます。事前に選択されたフィルターがクリックされた後にのみ、すべてが機能します。
初心者なのでやり方がわかりません。これを解決する方法はありますか?どうもありがとう!
<script>
$('#container').isotope({ filter: '.current' });
$(function(){
var $container = $('#container'), filters = {};
$container.isotope({
itemSelector : '.prod'
});
// filter buttons
$('.filter a').click(function(){
var $this = $(this);
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return;
}
var $optionSet = $this.parents('.option-set');
// change selected class
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
// store filter value in object
// i.e. filters.color = 'red'
var group = $optionSet.attr('data-filter-group');
filters[ group ] = $this.attr('data-filter-value');
// convert object into array
var isoFilters = [];
for ( var prop in filters ) {
isoFilters.push( filters[ prop ] )
}
var selector = isoFilters.join('');
$container.isotope({ filter: selector });
return false;
});
});