javascript - 基于日期字段的同位素过滤

标签 javascript php jquery jquery-isotope

我有一个这样的同位素结构;

<div class="grid">
   <div class="element-item transition metal" data-category="category-item">
       <h2 class="name">Gold</h2>
       <input type="hidden" value="01/02/2015" class="crdate">
   </div>
   <div class="element-item metalloid" data-category="category-item">
       <h2 class="name">Antimony</h2>
       <input type="hidden" value="04/02/2015" class="crdate">
   </div>
</div>

我想用隐藏的日期字段值对数据进行排序。

我有两个单选按钮;

<input type="radio" name="sortdate" class="sort_new" value="new">New<br>
<input type="radio" name="sortdate" class="sort_old" value="old">Old

我的要求是当我点击单选按钮时,我想根据日期字段值对数据进行排序。假设如果我点击“新建”单选按钮,那么具有新日期的项目将显示在顶部,反之亦然。

我的 javascript 结构是这样的;

$('.sort_new').on('click', function () {
          $('.grid').isotope({
                getSortData: {
                    date: function ( itemElem  ) {
                        return $( itemElem ).find('.crdate').val();
                    }
                },
                sortBy: 'date',
                sortAscending: false,
            });

      });

    $('.sort_old').on('click', function () {
          $('.grid').isotope({
                getSortData: {
                    date: function ( itemElem  ) {
                        return $( itemElem ).find('.crdate').val();
                    }
                },
                sortBy: 'date',
                sortAscending: true,
            });

      });

请帮我解决这个问题。谢谢。

最佳答案

尝试用实际时间戳替换输入值中的格式化日期并修改您的 JS:

$('.sort_new').on('click', function () {
    $('.grid').isotope({
        getSortData: {
            date: function ( itemElem  ) {
                return parseInt($( itemElem ).find('.crdate').val(), 10);
            }
        },
        sortBy: 'date',
        sortAscending: false,
    });
});

$('.sort_old').on('click', function () {
    $('.grid').isotope({
        getSortData: {
            date: function ( itemElem  ) {
                return parseInt($( itemElem ).find('.crdate').val(), 10);
            }
        },
        sortBy: 'date',
        sortAscending: true,
    });
});

关于javascript - 基于日期字段的同位素过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31860358/

相关文章:

php - 获取json并用php保存

javascript - 覆盖 HTML 5 输入类型文件,带有来自 HTML 网页的图像/文本的相机

javascript - 如何检索下拉列表中的数组值列表

对象内的javascript空数组

javascript - 当滚动停止百分比时触发

php - 使用 API (php) 将相册添加到页面

php - Silverstripe TinyMCE 在负载均衡器后面崩溃。

javascript - Ramble-slider-rails 仅显示空白屏幕

jQuery content() 在 IE 中导致问题

javascript - jQuery 文档宽度与数学