Javascript 组合过滤器Jquery

Javascript 组合过滤器Jquery,javascript,jquery,html,twitter-bootstrap,jquery-isotope,Javascript,Jquery,Html,Twitter Bootstrap,Jquery Isotope,我正在尝试像这个例子一样组合过滤器:但我不能 代码笔: HTML: 座位: 全部的 4. 5. 传输: 手册 自动的 大众波罗 5座汽车 铃木吉姆尼 4座汽车 大众开迪 4座位手册 欧宝扎菲拉 5座位手册 您的JS中有一个错误,该错误导致函数停止运行,然后代码中的一些怪癖似乎会破坏函数 在函数中,您需要更改行$('#filters input')。在('click','.btn',function(){到$('#filters')。在('click','.btn',function())

我正在尝试像这个例子一样组合过滤器:但我不能

代码笔:

HTML:


座位:
全部的
4.
5.


传输: 手册 自动的 大众波罗 5座汽车

铃木吉姆尼 4座汽车

大众开迪 4座位手册

欧宝扎菲拉 5座位手册


您的JS中有一个错误,该错误导致函数停止运行,然后代码中的一些怪癖似乎会破坏函数

在函数中,您需要更改行
$('#filters input')。在('click','.btn',function(){
$('#filters')。在('click','.btn',function()){
,否则您要求浏览器在
#filters
div中查看所有
输入
,以查看
单击
.btn
上的
,而这种情况永远不会发生

其次,我无法让过滤器与您创建的标签/单选组合一起工作,但我确实让它与按钮一起工作。您选择单选按钮是有原因的吗?如果是这样,您需要更多地使用代码来实现它,并且您可能希望从
单击
,改用它


祝你好运!

从Pixelsmith的codepen开始,我交换了JS以匹配你发布的示例。我相信这就是你想要的。检查过的格式有点不稳定,但功能仍然存在

这是新的JS


非常感谢,但它不能像我想要的那样工作。我需要单选按钮的行为。在你的代码笔中,当我单击一个按钮时,它保持按下状态,我认为当按下多个按钮时会出现一些错误。
$('.filters').on( 'click', '.btn', function() {
var $this = $(this);

var $buttonGroup = $this.parents('.btn-group');
var filterGroup = $buttonGroup.attr('data-filter-group');
// set filter for group
filters[ filterGroup ] = $this.attr('data-filter');

var filterValue = concatValues( filters );
$container.isotope({ filter: filterValue });
});

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

// flatten object by concatting values
function concatValues( obj ) {
  var value = '';
  for ( var prop in obj ) {
    value += obj[ prop ];
  }
  return value;
}