[英]Jquery DataTables default ordering columns by date
我在使用Jquery Datatable按日期排序表列時遇到麻煩
這是一個動態表格 ,我Created
顯示日期的列。
這是我的代碼:
HTML
<table id="dataTable">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Created</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>johndoe@example.com</td>
<td>2016-11-20 22:15:27</td>
</tr>
<tr>
<td>Jane</td>
<td>janedoe@example.com</td>
<td>2014-09-24 17:55:30</td>
</tr>
<tr>
<td>Doe</td>
<td>doe@example.com</td>
<td>2017-12-22 05:13:01</td>
</tr>
</tbody>
</table>
jQuery的
$('#dataTable').DataTable();
這應該被訂購(2017-> 2016-> 2014)。
我已經搜索並找到了答案,但是所有人都沒有實現我想做的事情。
例如在<td>
上使用data-order
不起作用。
<td data-order="2014-09-24 17:55:30">Lorem ipsum</td>
也使用moment.js
無效。
我該如何實現?
編輯
我正在反轉日期格式,我在使用DD / MM / YYYY,但它與YYYY / MM / DD一起使用
之后,我將正確的日期格式添加到data-order
然后設置默認順序列
<td data-order="date('Ymd H:i:s')">Lorem ipsum</td>
$('#dataTable').DataTable({"order": [[2, "desc"]]});
現在可以了。
您可以按如下方式為列設置默認順序:
$('#dataTable').DataTable({"order": [[2, "desc"]]});
請注意,它實際上不是按日期排序,而是按數字排序。 對於像Y\\m\\d
這樣的日期,它可以正常工作,但對於像d\\m\\Y
這樣的日期,您應該使用@Daniel Lizik指出的插件https://datatables.net/plug-ins/sorting/ 。
$('#dataTable').DataTable({"order": [[2, "desc"]]});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <table id="dataTable"> <thead> <tr> <th>Name</th> <th>Email</th> <th>Created</th> </tr> </thead> <tbody> <tr> <td>John</td> <td>johndoe@example.com</td> <td>2016-11-20 22:15:27</td> </tr> <tr> <td>Jane</td> <td>janedoe@example.com</td> <td>2014-09-24 17:55:30</td> </tr> <tr> <td>Doe</td> <td>doe@example.com</td> <td>2017-12-22 05:13:01</td> </tr> </tbody> </table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.