jQuery Tablesorter 的日期排序问题
我正在尝试对具有类似 2009-12-17 23:59:59.0
的列的表进行排序。 我正在使用下面的方法应用排序,
$(document).ready(function() {
$("#dataTable").tablesorter();
});
但它不适用于 yyyy-mm-dd 格式的日期。 任何人都可以建议我如何应用这种格式进行排序?
I am trying to sort a table which has column like 2009-12-17 23:59:59.0
.
I am using below to apply sort
$(document).ready(function() {
$("#dataTable").tablesorter();
});
But its not working for the dates of format yyyy-mm-dd.
Can any one suggest how can i apply this format for sorting?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
正确的做法是为这种自定义格式添加您自己的解析器。
检查这个以了解它是如何工作的。
jQuery Tablesorter:添加您自己的解析器
然后查看表排序器源代码(搜索 uslongdate、shortdate,然后观察 tablesorter 内部如何完成日期格式的解析器。现在为您自己构建一个适合您的特定日期格式的类似解析器。
jquery.tablesorter.js
这应该符合您的喜好
现在只需将其应用到您具有此格式的列(例如,假设您的自定义日期列驻留在第 7 列中。(6 表示第 7 列,因为列的数组是从零开始的)
The right thing to do would be to add your own parser for this custom format.
Check this to get a grasp on how that works.
jQuery Tablesorter: Add your own parser
Then take a look into the tablesorter source (search for uslongdate, shortdate and then watch how the parsers for date formats are internally done by tablesorter. Now construct your self a similar parser for your particular date format.
jquery.tablesorter.js
This should work to your liking
Now just apply it to the column where you have this format (e.g. assuming the column your custom dates reside in are in column No. 7. (6 means column 7, because the array of the columns is zerobased)
对英国/欧洲日期格式 dd/mm/yyyy 进行排序:
Sort UK/European date format dd/mm/yyyy by:
使用最新版本 2.18.4,您可以简单地这样做。只需提供默认日期格式,并在特定列中设置列日期格式,这仅适用于“shortDate”排序器。
With the latest version 2.18.4 you can simply do like this.Just give the default date format and in the particular column set the column date format this will work ONLY with 'shortDate' sorter.
如果您使用日期/时间格式,例如 mm/dd/yyyy hh:mm,则使用下面的
If you are using date/time format like mm/dd/yyyy hh:mm then use below
无需创建新的解析器只需稍作修改即可使用现有解析器。
1. 打开 Jquery 插件 js,您将在其中看到以下脚本。现在只需更改最后一个 else 的日期格式(所需),如果您的情况是“yy-mm-dd”。
2. 现在按照抖动提到的最后一步进行操作,但稍加修改。
No need to create new parser just use the exisitng one with little modification.
1. Open Jquery plugin js, where you will see the below script.Now just change the date format(desired) for the last else if in your case it is "yy-mm-dd".
2. Now follow the last step mentioned by jitter, but with little modification.
dateFormat : "mmddyyyy", // 设置默认日期格式
example-选项日期格式
dateFormat : "mmddyyyy", // set the default date format
example-option-date-format
使用 TableSorter 2,您只需使用
data-text
属性 存储替代排序值。我在 PHP 中这样做是为了在排序时考虑时间,但只在表中显示日期:不需要格式化或解析。
With TableSorter 2 you can simply use the
data-text
attribute to store the alternative sort value. I'm doing so in PHP like this to get time considered when sorting, but only show date in the table:No formatting or parsing necessary.
只需添加另一个选择就可以完美地对日期格式进行排序(dd/MM/yyyy hh:mm:ss)。
通过使用 js dataTables 插件。
将以下代码添加到您的代码中:
Just add another choice works perfectly for me to sort the date format (dd/MM/yyyy hh:mm:ss).
By using the js dataTables plugin.
Add the code below to your is code: