为了账号安全,请及时绑定邮箱和手机立即绑定

使用 jQuery table-sorter 插件对日期列进行排序的问题

使用 jQuery table-sorter 插件对日期列进行排序的问题

POPMUISE 2022-01-01 21:11:55
我为我的表实现了 jQuery TableSorter 附加组件并且一切正常,除了包含以下格式的特定列:HH:mm, dd.MM,例如09:45, 15.11或15:48, 16.11.正如我之前对这个插件所做的那样,我在 javascript 文件中尝试了这个,它对表格进行了排序:$(function()     $(".my-table").tablesorter({      sortList: [[1,0]], // sorting on the second column      dateFormat : "HH:mm, dd.MM"    });  });但是,它只按 排序HH:mm,这会导致错误的条目(因为它忽略了日期)。是否有另一个特定的日期字符串可以使用它,因为我无法真正更改它,或者有没有办法编写我自己的自定义解析器并使用插件实现它?谢谢!
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

如果有人偶然发现这种特定的日期格式,我就找到了解决方案。事实证明,TableSorter 插件允许添加自定义解析器,您可以满足自己的需要。关于这里的更多信息 - https://mottie.github.io/tablesorter/docs/example-parsers.html。


在这种特定情况下,它看起来像这样,现在可以工作并且该列是可排序的:


$.tablesorter.addParser({

        id: 'custom_date_parser',

        // Auto-detection

        is: function(date) {

            return false;

        },

        // Normalize data and allow sorting for this specific type

        format: function(date) {

            // get current year

            var current_year = new Date().getFullYear()


            // obtain date values from column

            // current format HH:mm, dd.MM

            var hour = date.slice(0, 2);

            var minutes = date.slice(3, 5);

            var day = date.slice(7, 9);

            var month = date.slice(10, 12);


            // convert to date object

            return date = new Date(current_year, month - 1, day, hour - 1, minutes)

        },

        parsed: false,

        // Type of sorting to use

        type: 'numeric'

    });


// Perform the sorting

    $("#table-name").tablesorter({

        // apply custom parser only to the second column

        headers: {

            1: {

                sorter: 'custom_date_parser'

            }

        }

    });


查看完整回答
反对 回复 2022-01-01
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

dateFormat选项仅允许 3 个设置:("mmddyyyy"默认)"ddmmyyyy""yyyymmdd".

在这种情况下,您需要添加一个自定义列解析器- 请参阅此演示,但它只有一个用于 Sugar.js 库的示例。

特别是,确保加载和使用这个包含 Sugar.js 和 Date.js 库接口的解析器


查看完整回答
反对 回复 2022-01-01
  • 2 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号