【问题标题】:Isotope grid checkbox selection同位素网格复选框选择
【发布时间】:2017-04-13 12:01:24
【问题描述】:

我正在使用 Isotope 库来过滤掉项目,但我想知道是否有办法添加复选框来启用多重选择?

我创建了一个小提琴来展示我在哪里:

https://jsfiddle.net/arkau0gg/

我的脚本文件如下所示:

$(function(){

  var $container = $('#container'),
      $filterLinks = $('#filters a');

  $container.isotope({
    itemSelector: '.item',
    filter: '.red'
  });

  $filterLinks.click(function(){
    var $this = $(this);

    // don't proceed if already selected
    if ( $this.hasClass('selected') ) {
      return;
    }

    $filterLinks.filter('.selected').removeClass('selected');
    $this.addClass('selected');

    // get selector from data-filter attribute
    selector = $this.data('filter');

    $container.isotope({
      filter: selector
    });


  });

});

【问题讨论】:

    标签: jquery filter jquery-isotope


    【解决方案1】:

    您可以在复选框上循环并为选中的复选框设置 data-filter 属性。 像这样的javascript:

    $(function(){
      var $container = $('#container'),
          $filterLinks = $("input[type='checkbox']");
    
      $container.isotope({
        itemSelector: '.item',
        filter: '.red'
      });
    
      $filterLinks.change(function(){
        var selector= '';
        $filterLinks.each(function(){
            if($(this).prop('checked')){
            if(selector != '') selector += ',';
            selector += $(this).data('filter');
          }
        });
    
        if(selector){
          $container.isotope({
            filter: selector
          });
        }
    
    
      });
    
    });
    

    在这里试试:https://jsfiddle.net/rbkctham/

    【讨论】:

    • 嘿,太棒了,唯一的是它也杀死了其他排序
    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2016-03-23
    • 2011-01-06
    • 1970-01-01
    相关资源
    最近更新 更多