2012-07-26 88 views
0

我正在使用同位素在页面上显示产品。我希望用户能够排序(没有问题)和筛选项目。简单的过滤(即".Brand1,.Brand2,.Color1"返回带有Brand1的所有产品以及带有Brand2的所有产品以及带有Color1的所有产品)工作正常。同位素高级筛选

但我需要实现的是高级过滤器,即(Brand1 or Brand2) AND Color1。我的主要问题是,我可以拥有数十种品牌和数十种颜色以及其他数十种可能的过滤器类别,因此可以重复使用所有类型的过滤器来创建像".Brand1.Color1, Brand2.Color1"这样的过滤器可能需要很长时间。

你知道有什么方法可以在同位素中创建条件筛选器(Brand1 or Brand2) AND Color1吗?有Foo类或类别栏

回答

1
$(".foo, .bar").somemethod(someargument); 

匹配的元素,有类foo和bar类

$(".foo.bar").somemethod(someargument); 

匹配的元素,

$(".foo, .bar").not(selector) 

可能是要走的路。

+0

谢谢,但这仍然无法解决遍历所有可能组合的问题。似乎没有简单的解决方案,将不得不坚持迭代所有组合。 – IBaklanov 2012-07-30 08:15:13

+0

你看过http://jsfiddle.net/desandro/3nY9V/进行组合过滤吗?也许还有更多可以从中学到的东西? – Systembolaget 2012-07-30 08:44:40

0

同位素将jQuery objetcs作为过滤器。所以,如果你想与第一应用此条件(Brand1 or Brand2) AND Color1,过滤你的元素:

var $elements = $('.element').filter('.Brand1, .Brand2').filter('.Color1');

,并通过它的同位素更新视图:

$grid.isotope({ filter: $elements });

就大功告成了:)