1

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

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

这是我的 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,

我知道要求您调试远程站点是愚蠢的,但这是我的问题的应用:

fiddle 包含问题的本质:http: //jsfiddle.net/DwX29/ 在这里,我想点击柠檬,然后小,结果应该是小柠檬,而不是小柠檬和小橙子。但是,如果我在柠檬处于活动状态时单击橙子,则应取消选择柠檬并仅显示橙子。

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

网站:http ://abbaenterijer.com/

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

4

1 回答 1

1

我通过创建自己的点击函数并为每组过滤器设置一个变量,然后将它们连接在一起并运行来做到这一点

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

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

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

你把两者结合在一起

var allselectedfilters = fruits+' '+size;

并运行

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

这是一个非常简化的版本,但希望它能让你有一个正确的开始。Just remember that when "All" is selected then the corresponding variable should be empty but defined.

于 2013-10-09T14:29:44.427 回答