【发布时间】:2011-01-12 13:15:33
【问题描述】:
我正在使用 tablesorter 插件,需要对包含日期和时间的列进行排序。使用 shortDate 类型,该列按日期排序,但不按时间排序,即 2011 年 1 月 12 日上午 11:13 进入表格顶部,然后是 2011 年 1 月 12 日上午 11:16,这应该是排名靠前的项目。看起来好像排序是在文本上而不是在日期上。我已尝试按照这些页面上的建议使用自定义解析器,但它没有用。任何人都可以建议一个示例格式的日期时间写入表格中的屏幕,以便自定义解析器成功地对日期和时间进行排序?
这里是格式化日期的sql:
date_format(data_invio,'%b. %e, %Y %l:%i %p')
这是我为自定义解析器尝试的代码(在此站点上找到):
$.tablesorter.addParser({
id: 'dateMS',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
var d = Date.parse(s);
if (isNaN(d)) {
return -1;
}
return d;
},
// set type, either numeric or text
type: 'numeric'
});
$("table#ElencoRicevuti")
.tablesorter({
dateFormat: 'YYYY-mm-dd HH:ii:ss',
headers:
{
0: {sorter: 'dateMS'},
4: {sorter: false}
}
})
【问题讨论】:
-
你能显示你的代码吗?就在这里 - stackoverflow.com/questions/1707840/… - 你可以看到解决同样的问题
-
感谢 IgorM,我查看了建议的页面并使用解析器进行了排序。最初它不起作用,因为日期由表格单元格中的
标记括起来。删除
标记以保留
2011-01-12 11:13:26 使其正常工作。我还调整了脚本以删除原始脚本中日期末尾的 .0。
标签: jquery datetime tablesorter