【问题标题】:Sort by date using Isotope, breaking down into day/months/years使用同位素按日期排序,分解为日/月/年
【发布时间】:2015-08-14 16:41:40
【问题描述】:

我正在使用 Isotope 来排列和排序一堆元素。我有控制所有排序的按钮。

我无法让“日期”排序正常工作。我在每个元素中打印了日期,以对其进行排序并应用 .date 类。它当前打印为 dd/mm/yy

<span class="date"><?php the_date('d/m/y');?></span>

在最简单的形式中,我可以使用 -

getSortData: {
  date: '.date',
}

这将组织成数字顺序,这在几天内很好,但在几个月内就出错了。如何让排序按真实日期而非数字排序。

我已经尝试使用我已经在 Stackoverflow 上找到的示例,但每个示例都完全破坏了同位素,并且元素甚至没有布局。下面是我拥有的另一种有效的示例,也许有人可以使用它来查看我需要做什么?

distance: function( itemElem ) {
var distance= $( itemElem ).find('.wppl-address').text();
return parseFloat( distance.replace( /[\(\)]/g, '') );
  },

【问题讨论】:

  • 我刚刚更新了我的问题。为我提供了“破坏”同位素的示例,因此我包含了我正在使用的另一种类型,它确实有效,看看是否有帮助......
  • 您需要在js中将日期转换为适当的日期对象,然后可以按真实日期时间顺序对其进行排序,同时以您拥有的任何格式显示日期。
  • 你能提供一个安东尼的例子吗?我对 PHP 很陌生。

标签: php sorting date jquery-isotope


【解决方案1】:

有php输出:

 <span class="date" 
   data-date="<?php the_date('c');?>" >
 <?php the_date('d/m/y');?>
 </span>

然后使用:

 getSortData: {
      date: function($item) {
            return $item.data('date');
        }
 }

或者试试:

 getSortData: {
      date: function($item) {
            return new Date($item.data('date'));
        }
 }

【讨论】:

  • 谢谢。我已经在使用 name: 作为排序来获得字母顺序。有没有办法改变你提供的内容以避免冲突?
  • 嗨,安东尼。单击排序按钮不会执行任何操作。我假设我需要更改它以以某种方式匹配您的代码?
  • 文档非常具有误导性。尝试更新的date 作为函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多