2011-08-10 108 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}); –