使用StupidTable JS和日期列排序

时间:2015-08-31 14:50:01

标签: javascript php jquery sorting

我正在使用StupidTable JS来排序我的表列。效果很好。但是,我的大多数列都按

排序
data-sort='string'

现在我有一个需要排序的DATE列。不知道该怎么做。信息来自数据库,所以我相信我需要一些功能。每个日期的格式是

dd-Mon-yyyy ex: 12-MAY-2015 or 25-JUL-2014

...

3 个答案:

答案 0 :(得分:1)

如果您可以控制HTML的呈现,则可以在显示漂亮日期的同时对时间戳进行排序。

https://github.com/joequery/Stupid-Table-Plugin#data-with-multiple-representationspredefined-order

否则您需要创建自定义排序功能。

<table>
  <thead>
    <tr>
      <th data-sort="string">Name</th>
      <th data-sort="int">Birthday</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Joe McCullough</td>
      <td data-sort-value="672537600">April 25, 1991</td>
    </tr>
    <tr>
      <td>Clint Dempsey</td>
      <td data-sort-value="416016000">March 9, 1983</td>
    </tr>
    ...

答案 1 :(得分:0)

将日期字符串转换为时间戳(整数)后,可以按 int 排序。

来自Stupid-table文档:

  

插件内部识别“int”,“string”,“string-ins”(不区分大小写)和“float”,因此简单的数据表将花费你很少的努力。

$scope.isMainSite = false;

然后在你的元素上使用var dateString = '12-MAY-2015' var date = new Date(dateString).getTime() // 1431385200000

或者您可以使用自定义功能:

  

这些数据类型足以用于许多简单的表。但是,如果您需要不同的数据类型进行排序,您可以轻松创建自己的数据类型!

data-sort='int'

注意:以上代码未经过测试

答案 2 :(得分:0)

我遇到了同样的问题,并修复如下:

.size

在PHP中这样:

<td><span style="display:none;">20150512</span>12-MAY-2015</td>

我希望这能帮到你!