在我的表格(字符串数据)中对某些数据进行排序时,我遇到了一些麻烦。 我从我的数据库中获取日期,并将其格式化为:
$change['ProposedDate'] = date('d/m/Y',strtotime($r['ProposedDate']));
(请注意,我也尝试过:
$change['ProposedDate'] = (string)date('d/m/Y',strtotime($r['ProposedDate']));
)
我用这个转换成"无"
if($change['ProposedDate'] == "30/11/-0001")
{
$change['ProposedDate'] ="None";
}
表格是这样的(在PHP转换$ c [' ProposedDate']到" XX / YY / ZZZZ"在HTML源代码中)之后:
<table>
<thead>
<tr>
<th> ID </th>
<th> Proposed Date</th>
<th> Suggested Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>01/10/2014</td>
<td>None</td>
</tr>
<tr>
<td>2</td>
<td>14/10/2014</td>
<td>10/12/2014</td>
</tr>
<tr>
<td>3</td>
<td>None</td>
<td>09/09/2014</td>
</tr>
</tbody>
</table>
我无法理解的是,我能够排序诸如&#34; 14-0214-98&#34;,&#34; 13-0101-01&#34等字符串;和&#34; 14-0102-40&#34; ,或者&#34;当前&#34;,&#34;等待&#34;,&#34;新&#34;和&#34;已提交&#34;。但是我无法对日期进行排序。我没有&#34;没有&#34;包含日期的两行之间。我尝试了很多解决方案,例如使用空字符串&#34;&#34;替换&#34;无&#34;或使用&#34; a&#34;替换&#34;无&#34;,但没有任何效果。
有没有人有任何想法摆脱这个问题?
注意:将日期转换为字符串对我来说没有任何问题,无论如何我都会将它们转换回来(转换为#34; None&#34; to&#34; 30/11 / -0001&#34;例如)。所以如果你有一个使用字符串的解决方案,我会接受它!
谢谢大家,我真的很沮丧:(
答案 0 :(得分:0)
我猜第一列可能包含“无”而不是日期,这会导致插件检测到常规文本而不是该列的日期。因此,您需要专门为日期设置解析器。
我不确定你为什么要使用的tablesorter版本,所以你可以这样做:
原始的tableorter(demo):
$('table').tablesorter({
dateFormat : "uk",
headers: {
// set "sorter: false" (no quotes) to disable the column
0: { sorter: "text" },
1: { sorter: "shortDate" },
2: { sorter: "shortDate" }
}
});
$('table').tablesorter({
theme: 'blue',
// other options: "mmddyyyy" & "yyyymmdd"
dateFormat: "ddmmyyyy",
headers: {
// set "sorter: false" (no quotes) to disable the column
0: { sorter: "text" },
1: { sorter: "shortDate" },
2: { sorter: "shortDate" }
}
});