PHP过滤同位素

问题描述 投票:0回答:1

首先,对不起我的英语,我尽量做到最清楚。

我使用同位素来过滤一些信息作为一个查询的结果。它的工作很好,但现在我想添加的可能性过滤与多个标准。

我有以下的过滤按钮。

<div id="filters" class="button-group">  <button class="button is-checked" data-filter="*">Todos</button>
              <button class="button" data-filter="rcivil">Resp. Civil</button>
              <button class="button" data-filter="cbasica">C.Basica</button>
              <button class="button" data-filter="tcompleto">T.Completo</button>
              <button class="button" data-filter="triesgo">T.Riesgo</button>
            </div>

用这个Javascript:

        // init Isotope
    var $grid = $('.grid').isotope({
      itemSelector: '.grid1',
      layoutMode: 'fitRows',
      getSortData: {
        codigo: '.codigo',
        cuota: '.cuota',
      }
    });
    $grid.isotope({
      sortBy: 'cuota',
      sortAscending: true
    });

    // filter functions
    var filterFns = {
      // show if number is greater than 50
      numberGreaterThan50: function() {
        var number = $(this).find('.number').text();
        return parseInt( number, 10 ) > 50;
      },
      // responsabilidad civil
      rcivil: function() {
        var name = $(this).find('.codigo').text();
        return name.match( /\b(A1|A2|A3|A4|A22|A|A10|A10 PROMO)\b/ );
      },
      // cobertura basica
      cbasica: function() {
        var name = $(this).find('.codigo').text();
        return name.match( /\b(B2|B1|B|B1\-80|B\-80|E|E1)\b/ );
      },
      // terceros completos
      tcompleto: function() {
        var name = $(this).find('.codigo').text();
        return name.match( /\b(C1|C2|C|C2\-80|C1\-80|Sigma Importados|S0|LB1|LB|CF)\b/ );
      },
      // todo riesgo
      triesgo: function() {
        var name = $(this).find('.codigo').text();
        return name.match( /\b(T9|T14|T13|T2|TD|TD1|TD3)\b/ );
      }
    };
    // bind filter button click
    $('#filters').on( 'click', 'button', function() {
      var filterValue = $( this ).attr('data-filter');
      // use filterFn if matches value
      filterValue = filterFns[ filterValue ] || filterValue;
      $grid.isotope({ filter: filterValue });
    });

    // bind sort button click
    $('#sorts').on( 'click', 'button', function() {
      var sortByValue = $(this).attr('data-sort-by');
      $grid.isotope({ sortBy: sortByValue });
    });

    // change is-checked class on buttons
    $('.button-group').each( function( i, buttonGroup ) {
      var $buttonGroup = $( buttonGroup );
      $buttonGroup.on( 'click', 'button', function() {
        $buttonGroup.find('.is-checked').removeClass('is-checked');
        $( this ).addClass('is-checked');
      });
    });

如果我想同时选择多个选项,我该怎么做呢? 例如同时选择 "rcivil "和 "cbasica"。

任何帮助或想法将是比感激。

先谢谢你了。

php filtering jquery-isotope
1个回答
0
投票

只是尝试使用复选框。

例1

例二

You will understand from the links.
© www.soinside.com 2019 - 2024. All rights reserved.