触发 Mixitup 过滤器 OnLoad

Ty *_*ton 1 javascript jquery mixitup

我在ExpressionEngine 站点上使用 Mixitup ( https://mixitup.kunkalabs.com ) 实用程序。该页面是房地产属性列表,Mixitup 过滤器用于按地区、特征等缩小这些属性的范围。

我希望能够通过 url_segment 传递一些值来触发过滤器。因此,例如,如果用户单击划分为不同市场的地图中的列表,他们将首先只看到这些市场中的房产,就好像他们是从主页上选择的一样。

例如,默认视图是这样的:

默认视图

如果他们点击印第安纳州中部,其他地区就会消失,并会打开一个子市场菜单:

印第安纳州中部精选

如果他们进一步单击 South,则仅显示该子市场中的属性。他们可以随时取消选择这些选项,并显示隐藏的属性。

我想要做的是让用户能够访问该页面并选择一些选项:

市场和子市场预选

在进行了所有其他调用之后,我尝试使用 javascript 来单击元素:

<script>
     $(document).ready(function(e){
          setTimeout(function() {
               $("li.central-indiana").click();
          },10);
     });
</script>
Run Code Online (Sandbox Code Playgroud)

这扩展了菜单,但没有过滤属性(或应用“活动”类,但这并不是真正的问题)。

我还尝试在页面末尾使用 Mixitup 的 showOnLoad 函数,并使用延迟计时器:

<script type="text/javascript">
    $("document").ready(function() {
        setTimeout(function() {
             $('#filter').mixitup(
                {'showOnLoad': 'central-indiana'}
             ); 
        },10);   
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这暂时过滤了属性,但随后 mixitup 重置了自身,并将它们全部显示出来。它也没有扩展菜单或应用“活动”类。

我在这里缺少什么?

谢谢,

Eri*_*nig 5

您需要在加载时设置要过滤的内容,如下所示:

$(function() {
    $('#filter').mixItUp({
        load: {
            filter: '.central-indiana'
        }
    });
});
Run Code Online (Sandbox Code Playgroud)