【问题标题】:jQuery tablesorter sort on date-time not working properlyjQuery tablesorter 对日期时间进行排序无法正常工作
【发布时间】: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


【解决方案1】:

我喜欢 jQuery 和所有这些,但我还没有找到一个与 kryogenixs storttable 一样好的 jQuery 表格排序插件。 http://www.kryogenix.org/code/browser/sorttable/.

而且您使用的 tablesortter 插件自 2008-03-17 以来一直没有更新

kryogenix 有各种自定义类型。 请参阅“使用自定义日期格式”:http://www.kryogenix.org/code/browser/sorttable/#dates

【讨论】:

  • 您链接到的表格排序器于 2007 年 4 月发布,因此 2008 年 3 月会更新;)
  • 我的 sorttable.js 得到了调整而没有相对频繁地获得新的发布日期:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多