我有三組複選框,它們允許我根據數據屬性過濾多個div。這很好,但不是我需要的。Jquery多選框過濾
如果您訪問下面的jsfiddle,您將看到一個工作測試。
我需要做的是:
當不止一個選項是同一類別內選擇例如'小'和'中等',它應該增加結果,即顯示所有'小'和'中等'結果(這是它現在所做的)。
當在不同類別中選擇了多個選項時,例如「中」和「北美」就應減少的結果即顯示所有「中」花「北美
我將如何去修復/修改我的代碼,使這項工作嗎? (我希望這是有道理的)。
下面是我使用jQuery:
$('.flowers-wrap, .continents-wrap').delegate('input[type=checkbox]', 'change', function() {
var $lis = $('.flowers > div'),
$checked = $('input:checked');
if ($checked.length) {
var selector = '';
$($checked).each(function(index, element){
if(selector === '') {
selector += "[data-category~='" + element.id + "']";
} else {
selector += ",[data-category~='" + element.id + "']";
}
});
$lis.hide();
console.log(selector);
$('.flowers > div').filter(selector).show();
} else {
$lis.show();
}
});
請參閱的jsfiddle我所建立的證明我有這個問題 - http://jsfiddle.net/n3EmN/
嘗試設置複選框的'namę'屬性,並且當發生更改時,通過它們的'name'屬性通過複選框組循環。 – Pho3nixHun
謝謝;那會給我我以後的結果嗎? – ss888
這是[JSFIDDLE](http://jsfiddle.net/EABQ5/),希望它有幫助。 – Pho3nixHun