在插件中设置多重过滤,在这种特殊情况下甚至可能吗?

时间:2013-06-17 20:43:23

标签: jquery

简而言之,这就是问题所在。我不知道如何使相同行的过滤器相互排斥。例如,如果选择岛屿,然后选择城市,则应“取消选择”岛。

但就我而言,他们堆积起来。

这是我的MixItUp设置

            targetSelector : '.mix',
            filterSelector : '.filter',
            sortSelector : '.sort',
            buttonEvent: 'click',
            effects : ['fade', 'scale'],
            listEffects : null,
            easing : 'smooth',
            layoutMode: 'grid',
            targetDisplayGrid : 'inline-block',
            targetDisplayList: 'block',
            listClass : '',
            gridClass : '',
            transitionSpeed : 600,
            showOnLoad : 'all',
            sortOnLoad : false,
            multiFilter : true,
            filterLogic : 'and',
            resizeContainer : true,
            minHeight : 0,
            failClass : 'fail',
            perspectiveDistance : '3000',
            perspectiveOrigin : '50% 50%',
            animateGridList : true,
            onMixLoad: null,
            onMixStart : null,
            onMixEnd : null,

我知道要求你调试一个远程网站是愚蠢的,但这是我的问题的应用:

包含问题本质的小提琴:http://jsfiddle.net/DwX29/ 在这里,我想点击柠檬,然后小,结果应该是小柠檬,而不是小柠檬和小橙子。但是如果我在柠檬活跃时点击橙子,应该取消选择柠檬,结果只显示橙子。

github:https://github.com/goxytesla/Monsi_apartments

网站:http://abbaenterijer.com/

感谢您抽出宝贵时间提前查看我的问题。

1 个答案:

答案 0 :(得分:1)

我是通过创建自己的点击功能并为每组过滤器设置变量,然后将它们连接在一起并运行

来实现的。
$('#grid').mixitup('filter',allselectedfilters);

因此,您有一个包含有效过滤器的水果变量,以及一个选择了活动大小的大小变量。

var fruits = 'orange';
var size = 'small';

你们加入了两个人

var allselectedfilters = fruits+' '+size;

然后运行

$('#grid').mixitup('filter',allselectedfilters);

这是一个非常简化的版本,但希望它能让你开始正确。 请记住,当选择“全部”时,相应的变量应该为空但是已定义。