使用同位素和选择框的数据过滤器

时间:2014-09-20 09:03:03

标签: javascript jquery html

我正在处理数据过滤器,我已经使用3个选择框进行数据过滤。但问题是只有一个(1st)选择框正在工作。它不会过滤第2和第3个数据。

问题是什么?

JS Fiddle

2 个答案:

答案 0 :(得分:0)

您必须分别发送每个选择元素的过滤数据。 在这种情况下,您可以为第二个和第三个选择元素设置id,以便能够发送每个选择过滤器数据。

看看下面的代码:

  $('#some').click(function(){
      var $select = $('select');
      var $select1 = $select.next();
      var $select2 = $select1.next();

      var group = $select.attr('data-filter-group');
      var group1 = $select1.attr('data-filter-group');
      var group2 = $select2.attr('data-filter-group');

      filters[ group ] = $select.find(':selected').attr('data-filter-value');
      filters[ group1 ] = $select1.find(':selected').attr('data-filter-value');
      filters[ group2 ] = $select2.find(':selected').attr('data-filter-value');

这里是jsfiddle demo

答案 1 :(得分:0)

如果您对所有三个选择框使用class='option-set clearfix',那么您可以这样:

var choices = $('select[class="option-set clearfix"]');

var choice1 = choices.eq(0).val();
var choice2 = choices.eq(1).val();
var choice3 = choices.eq(2).val();
console.log(choice1);
console.log(choice2);
console.log(choice3);