使用jquery tablesorter排序日期的问题

前端之家收集整理的这篇文章主要介绍了使用jquery tablesorter排序日期的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用tablesorter插件来排序我的表在一个MVC .NET应用程序。我的大部分列是字符串,我没有问题。没有数字的。事情是我的datetime列也被排序好像是字符串。他们得到这样排序:01/04/2009,02/02/2009,03/08/2009等。我从该视图中获取模型中的数据。

我的电话是默认的:

$("#table").tablesorter();

我试着指定dateformat没有运气:

$("#table").tablesorter({
            dateFormat: 'dd/mm/yyyy'});

当我手动键入带有随机日期的静态表时,会发生奇怪的事情。它得到排序!但是我的数据来自一个DB调用,并被放入Model中,然后通过它创建并写入tr的数据。

提前致谢。

编辑:它可以与我创建tr的方式相关吗?

<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.Encode(item.date) %>
</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<% } %>

解决方法

尝试添加一个Tablesorter解析器到你的日期列。 Tablesorter配有一个解析器,用于shortDate,usLongDate和isoDate。
$("#table").tablesorter({
    headers: { colNum: { sorter: 'shortDate'} }
});

其中colNum是具有日期的列。我可以在tablesorter网站上找到的唯一的例子是here.如果tablesorter也排序数字错误,这也是有效的。还有其他解析器以及百分比,IP地址等。看看源代码的末尾附近,它们会列在那里。

编辑:在查看源代码时,dateFormat选项似乎仅仅是查找“us”,“uk”,“dd / mm / yy”或“dd-mm-yy”。当你尝试“uk”会发生什么?

猜你在找的jQuery相关文章