2011-08-10 149 views
1

我正在使用jQuery同位素。一切都很好,但我有過濾問題。我想使用多個類別我有5個複選框,我不能同時使用它們。我能做什麼?Jquery同位素複選框過濾

$("#classic").click(function() { 
    if($("#classic").is(":checked")) { 
    $('#box').isotope({ filter: '.classic' }); 
    } else { 
    $('#box').isotope({ filter: '' }); 
    } 
}); 

我的項目= A,B,C,d,E,F,G,H

類別= X(A,B,E)Y (C,H)Z(d,F,G)

,如果我現在選擇x和z複選框它僅示出了一個,b,E,d,F,G

但我不能那樣做。我能怎麼做 ?

回答

2

看起來你在代碼中有一個js錯誤(缺少單引號),並且在一個地方經典被用作id,在另一個地方作爲一個類。只是想找到那不是問題。嘗試這個。

function checkIsoTope(){ 
    var ids = []; 
    $("#classic, #den, #wer").filter(":checked").each(function(){ 
     ids.push("." + this.id); 
    });  
    $('#box').isotope({ filter: ids.join(',')}); 
} 
$("#classic, #den, #wer, #allCheckboxId").click(checkIsoTope); 
+0

沒有它的工作,這僅僅是樣品一個複選框,如果我用它不工作 – user884898

+0

什麼是那些複選框的IDS其他複選框? – ShankarSangoli

+0

#classic,#den,#wer 例 我的項目= A,B,C,d,E,F,G,H 類別= X(A,B,E)Y(C,H) z(d,f,g) 現在如果我選擇x和z複選框,它只會顯示a,b,e,d,f,g 但我不能這樣做。我能怎麼做 ? – user884898

4

這裏是複選框過濾解決方案: http://jsfiddle.net/3nY9V/6/

+0

這太酷了!但我不確定如何處理兩個過濾器尺寸時如何應用它。例如,如果您有一組顏色和另一組形狀,並且我點擊了圓形和正方形,我只希望看到滿足這兩個要求的項目,這會將所有圓圈(不考慮顏色)和所有紅色的項目不管形狀如何)。如果你能提供幫助,我會很樂意提交一個問題。 –

+0

謝謝!只是添加,我發現另一個話題: 要做出「顯示所有」複選框,只需添加此行 $ container.isotope({filter:(filters == null || filters.length == 0)? 'default':filters}); –