![](/img/trans.png)
[英]Convert JSON string to JSON object so I don't need to change in the base jquery.dataTables.js
[英]How to sort date and string in same column in jquery plugin having file jquery.dataTables.js?
我有一个表在同一列中包含“日期(格式为M / d,如'Aug-23')”和字符串(如'process'和'completed')。 但是问题在于,它不是按日期按字母顺序排序的。 我文件的结构是:
<script type="text/javascript" language="javascript" src="../../table-sorting/js/jquery.js"></script>
<script type="text/javascript" language="javascript" src="../../table-sorting/js/jquery.dataTables.js"></script>
<script type="text/javascript" language="javascript" class="init">
$(document).ready(function() {
$('#sorting').dataTable( {
"dom": '<"top"iflp<"clear">>rt<"bottom"iflp<"clear">>'
} );
} );
</script>
单次转换出价
123年8月28日
327年7月30日
789过程
如果我对运输列进行排序,那么它给出的结果是
处理
8月28日
7月30日
但我想要这样的结果:
处理
7月30日
8月28日
意味着首先进行字符串排序,然后再进行日期排序
这些运输价值来自Mysql数据库
我该如何解决这个问题? 有什么建议吗?
您必须以YYYYmmdd
格式编写日期,以便字母顺序与时间顺序匹配。
但您希望日期以更好看的格式显示(合法)。
解决方案是使用两列:一列带有漂亮日期,一列带有YYYYmmdd
日期。 这将是隐藏的,但将由dataTable
排序功能使用。
<table id="sorting">
<thead>
<tr>
<th>CPA</th>
<th>Shipping</th>
<th>Shipping (sorting format)</th>
</tr>
</thead>
<tbody>
<tr>
<td>123</td>
<td>Aug 28</td>
<td>20150828</td>
</tr>
<tr>
<td>327</td>
<td>July 30</td>
<td>20150730</td>
</tr>
<tr>
<td>789</td>
<td>Process</td>
<td>0</td>
</tr>
</tbody>
</table>
然后,JavaScript:
$('#sorting').dataTable( {
"aoColumns": [
{"bSortable": true}, // First column: normal
{"iDataSort": 2}, // Second column's sorting depends on third column (dataTable starts counting from 0, that's why third column is number 2)
{"bVisible": false}, // Third column: hide it
]
});
您可以在DataTables文档中找到更多提示和示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.