0
目前我的複選框過濾不起作用,它使所有grid-cell
div被選中時消失。應用不同的複選框過濾器來顯示/隱藏div
我希望它顯示所有類別,如果沒有選擇或如果全部被選中。
如果選擇區域:顯示與北方相匹配的所有項目,如果選擇南方,則顯示所有與南方相匹配的項目,如果同時選擇了北方和南方,則顯示與北方或南方匹配的所有項目。
如果選擇高位,我也希望價格相同顯示高位,如果高位和低位選擇顯示高位和低位。
如果選擇的區域是南北價格是包含有data-category-type="high"
或data-category-name="north"
或data-category-name="south"
http://jsfiddle.net/yzyyqqey/3/
$('.checkbox').on('click', function (e) {
var $this = $(this),
$links = $('.checkbox');
if ($this.hasClass('selected')) {
$this.removeClass('selected');
} else {
$this.addClass('selected');
}
$('.grid-cell').hide();
if ($(".checkbox:checked").length > 0) {
// any one is checked
$.each($links, function (k, v) {
$this = $(v);
if ($this.hasClass('selected')) {
anySelectedCheckbox = true;
var cat = $this.data('categoryType');
var nam = $this.data('categoryName');
$('.grid-cell:has(div[data-category-type="' + cat + '"],div[data-category-name="' +nam+' "])').show();
}
});
} else {
// none is checked
$('.grid-cell').show();
}
});
工作得很好!我想補充的一件事是,如果選擇了北高+低,它將顯示所有高或低和北的項目,如果選擇了這些項目,它將顯示所有項目,其中一些將高和南例如。 –
我沒有跟着,但按照你現在明白的理解使用它,請按照你的需要去改變。如果它能幫助你的情況,也別忘了接受它作爲答案。 – pjobs
所以如果您選擇價格'高'+'低'和'北'的區域,它會顯示所有項目。它應該只顯示來自北方的物品,價格高或低。 –