gpt4 book ai didi

javascript - Jquery DataTables 默认按日期排序列

转载 作者:行者123 更新时间:2023-12-03 02:49:04 24 4
gpt4 key购买 nike

我在使用 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)。

我已经搜索并找到了答案,但都未能实现我想要做的事情。

例如使用data-order关于<td>没用。

<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('Y-m-d H:i:s')">Lorem ipsum</td>

$('#dataTable').DataTable({"order": [[2, "desc"]]});

现在可以了。

最佳答案

您可以按索引设置列的默认顺序,如下所示:

$('#dataTable').DataTable({"order": [[2, "desc"]]});

请注意,它实际上不是按日期排序,而是按数字排序。它适用于像 Y\m\d 这样的日期,但对于像 d\m\Y 这样的日期,你应该使用插件 https://datatables.net/plug-ins/sorting/正如 @Daniel Lizik 所指出的尝试:

$('#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>

关于javascript - Jquery DataTables 默认按日期排序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47964962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com