【问题标题】:MixItUp filter with already selected content when page loaded页面加载时已选择内容的 MixItUp 过滤器
【发布时间】:2017-08-07 12:01:38
【问题描述】:

我正在为一个小项目使用 MixItUp (https://www.kunkalabs.com/mixitup/) 来过滤一些事件。

现在我想实现以下目标:当用户来自特定页面时,内容应该已经被过滤。就我而言,我有一个 HTML 选择选项字段,用户可以在其中选择特殊类型的事件。

到目前为止我做了什么:

我为设置过滤器所需的内容创建了特殊链接。例如

http://link.de/?filter=blueberries

使用 Javascript / jQuery 我现在选择该选项。

$('select option[value=".'+URLSELECTION+'"]').attr('selected', 'selected');

但不知何故,当我通过 jQuery 进行选择时,MixItUp 没有过滤。只有当我单击它时,才会设置过滤器。所以现在的选择是正确的,但是 MixItUp 并没有触发过滤器。

我该怎么做才能告诉 MixItUp 它应该开始根据所选选项过滤列表?

【问题讨论】:

    标签: javascript jquery html mixitup


    【解决方案1】:

    使用此代码:

    <script type='text/javascript">
    $(document).ready(function() {
        function getParam(param) {
          var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
          for (var i=0;i<url.length;i++) {
                 var params = url[i].split("=");
                 if(params[0] == param)
                  return params[1];
          }
          return false;
        }
        var URLSELECTION = getParam("filter");
        $("select option[value='"+ URLSELECTION +"']").attr('selected','selected');
    });        
    </script>
    

    【讨论】:

    • 选择工作正常!我选择了通过 URL 发送的选项。所以这很好用。但是当通过 jQuery 选择选择字段时,MixItUp 不会过滤
    【解决方案2】:

    您可以使用以下代码来实现它:

    var mixer = mixitup(containerEl, {
       load: {
           filter: '.blueberries'
       }
    });
    

    我还没有测试过,但这就是文档所说的。 https://www.kunkalabs.com/tutorials/filtering-and-sorting-on-load/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 2016-08-07
      • 2021-11-28
      相关资源
      最近更新 更多