Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 同位素范围和附加组合过滤器_Jquery_Range_Filtering_Combinations_Jquery Isotope - Fatal编程技术网

Jquery 同位素范围和附加组合过滤器

Jquery 同位素范围和附加组合过滤器,jquery,range,filtering,combinations,jquery-isotope,Jquery,Range,Filtering,Combinations,Jquery Isotope,如果以前有人问过这个问题,我很抱歉,但我似乎找不到一个简洁的答案,而且我在jQuery中是一个相当轻松的开发人员 我有一个对象堆栈,其中包含各种标记作为类,包括颜色和日期作为长表单编号: <div class="red sysdate20110712"></div> <div class="blue sysdate20110712"></div> <div class="blue sysdate20120314">

如果以前有人问过这个问题,我很抱歉,但我似乎找不到一个简洁的答案,而且我在jQuery中是一个相当轻松的开发人员

我有一个对象堆栈,其中包含各种标记作为类,包括颜色和日期作为长表单编号:

    <div class="red sysdate20110712"></div>
    <div class="blue sysdate20110712"></div>
    <div class="blue sysdate20120314"></div>
    <div class="red sysdate20110712"></div>
    <div class="yellow sysdate20100813"></div>
    <div class="red sysdate20100813"></div>
    <div class="yellow sysdate20121001"></div>
    <div class="blue sysdate20121001"></div>
我的问题是,如何(如果有的话)将这两个元素结合起来?由于一个对象需要传递给过滤器,有没有办法组合这些对象,或者运行一个由两部分组成的过滤器

如果答案就在我面前,我表示歉意,因为我对jQuery有点陌生


更新:在一位朋友的帮助下,我度过了一些难关!基本上,它涉及到创建第三个var,并将数组一起推到一个新对象中。

为什么不使用所有者提供的组合过滤器? 它也有一个具有哈希历史记录的版本


因此我也计划合并哈希历史记录,但我在这里尝试的是将两种类型的筛选器对象合并为一种(日期范围和事件类型),不一定是排序。这不仅是排序,而且还合并了不同的筛选器
var minDate = 20120101;
var maxDate = 20130813;

var dateValue = [];
dateValue = $('.color-shape').filter(function(index){
var $this = $(this);
var matcharr = $this.attr('class').match(/sysdate([0-9]*)/);
if (matcharr) {
    var date = parseInt(matcharr[1]);
    return ((date >= minDate) && (date <= maxDate));
} else {
    return false;
}
});
$checkboxes.change(function(){
var filters = [];
// get checked checkboxes values
$checkboxes.filter(':checked').each(function(){
  filters.push( this.value );
});

filters = filters.join(', ');

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