[英]Isotope JS Multiple Checkbox FIlters
我在兩個不同的部分中有這些復選框:
<div class="col-sm-3 choose_lifestyle">
<input type="checkbox" id="fiftyfiveplus" name="fiftyfiveplus" value=".fiftyfiveplus">
<label for="fiftyfiveplus">55+ Exclusive</label>
<input type="checkbox" id="allages" name="allages" value=".allages">
<label for="allages">All-Ages</label>
</div>
<div class="col-sm-3 builder-pick">
<input id="cbx_classic" type="checkbox" name="cbx_classic" value=".classic-group" />
<label for="cbx_classic">Classic Homes</label>
<input id="cbx_nvhomes" type="checkbox" name="cbx_nvhomes" value=".nvhomes" />
<label for="cbx_nvhomes">NVHomes</label>
<input id="cbx_ryan" type="checkbox" name="cbx_ryan" value=".ryan-homes" />
<label for="cbx_ryan">Ryan Homes</label>
<input id="cbx_winchester" type="checkbox" name="cbx_winchester" value=".winchester-homes" />
<label for="cbx_winchester">Winchester Homes</label>
</div>
<!-- Some example results -->
<div id="wpv-view-layout-99-TCPID101">
<div class="home_wrapper allages classic-group">
</div>
<div class="home_wrapper fiftyfiveplus classic-group">
</div>
<div class="home_wrapper fiftyfiveplus nvhomes">
</div>
</div>
這是同位素的代碼:
var container = jQuery('#wpv-view-layout-99-TCPID101 > .row');
var checkboxes = jQuery("input[type='checkbox']");
container.isotope({
itemSelector: '.home_wrapper'
});
var isotope = container.data('isotope');
checkboxes.change(function() {
var filters = [];
// get checked checkboxes values
checkboxes.filter(':checked').each(function() {
filters.push(this.value);
});
console.log(filters);
filters = filters.join(', ');
container.isotope({
filter: filters
});
});
如何合並過濾器?
例如,如果我選擇五十,然后從生成器選擇框選擇經典組,那么我應該只看到包含“ fiftyfiveplus經典組”的div。 目前,它顯示了所有的消息和五十五個條目。
我在這里找到了一個很好的如何結合的例子:
https://codepen.io/desandro/pen/JEojz
但是無法弄清楚如何在我的版本中實現它。
一些相關的CSS將有助於應用完整的片段演示,但是,您可以嘗試Natu建議的SO回答方法:
filters = filters.join(', ');
對於filters = filters.join('');
這應該添加並組合所選的選項,而不是如逗號所示過濾一個或另一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.