我正在使用StupidTable JS来排序我的表列。效果很好。但是,我的大多数列都按
排序data-sort='string'
现在我有一个需要排序的DATE列。不知道该怎么做。信息来自数据库,所以我相信我需要一些功能。每个日期的格式是
dd-Mon-yyyy ex: 12-MAY-2015 or 25-JUL-2014
...
答案 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>
我希望这能帮到你!