我在使用 ASP.NET 生成的表上使用tablesorter 插件。我的问题是有一列带有一些日期(格式= YYYY-MM-DD),并且分拣机只在我的本地机器上工作。在服务器上发布时,它不会。我打开调试模式,发现在本地机器上,自动检测到的列的类型是isoDate
,而在生产机器上,它是shortDate
.
重要提示:当您查看日期时,它看起来完全一样。例如:2010-11-15。没有区别。但我很确定机器本身的本地设置非常不同,因此必须解释为什么一个被认为是 isoDate 而另一个被认为是 shortDate。
我还验证了该插件包含这两种格式的分类器。我有最新版本,似乎没有人有这个错误。
我究竟做错了什么?
我已经尝试过强制使用 isoParser :
$("#ChangeLogTable1").tablesorter({headers: { 0: { sorter: 'isoDate'}}});
编辑
我已经为此更改了我的代码(见下文)以强制“作为字符串”进行排序,它可以工作,因为我的日期格式给了我这种可能性,但如果格式为 dd-mm-yyyy,它将不起作用。所以我的问题仍然存在,但这是一种解决方法。
$(this).tablesorter({ headers: { 0: { sorter: 'text'} }});
编辑 2
这里是一些表格html,我只是把一些敏感数据换成了XXXX
<div style="width: 1300px">
<table id="ChangeLogTable1" class="table tablesorter table-bordered">
<thead>
<tr>
<th>Date de correction</th>
<th>Correcteur</th>
<th>BugID</th>
<th>Catégorie</th>
<th>Module</th>
<th>Description de la correction</th>
<th>Impact</th>
<th>Rapporté par</th>
<th>Demandé par</th>
</tr>
</thead>
<tbody>
<tr>
<td width="125px"> 2012-10-10</a></td>
<td width="100px"> XXXX</td>
<td width="75px"> XXXX</td>
<td width="100px"> XXXX </td>
<td width="100px"> XXXX </td>
<td width="300px"> XXXX </td>
<td width="300px"> </td>
<td width="100px"> XXXX </td>
<td width="100px"> </td>
</tr>