[英]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.