gpt4 book ai didi

javascript - 数据表排序时间列

转载 作者:行者123 更新时间:2023-11-28 15:08:50 25 4
gpt4 key购买 nike

我正在使用 jQuery DataTables,当我使用这种格式 mm:ss 对时间列进行排序时遇到问题。例如,当我对 00:08 进行排序时,排序会执行一些操作,但这并不好。我的专栏中有:

00:08
00:15
00:01
01:20
00:16
02:11

所以排序不起作用。您知道如何对时间列进行排序吗?

这是我的代码:

$('#table').DataTable({
dom: "t<'col-sm-5'i><'col-sm-7'p>",
autoWidth: false,
serverSide: true,
aaSorting: [[0, 'desc']],
rowId: 'id',
lengthChange: false,
ajax: {
url: 'index',
method: 'POST'
}
columns: [
{data: "id", width: '5%'},
{data: "name", width: '10%', orderData: [ 1, 0 ]},
{data: "user_name", width: '10%', orderData: [ 2, 0 ]},
{data: "email", width: '35%', orderData: [ 3, 0 ]},
{data: "duration", render: duration_time, width: '10%', type: "time",orderData: [ 4, 0 ]},
{data: "incomplete", render: incomplete, width: '30%', orderData: [ 5, 0 ]}
]
});

这是渲染参数的函数:

function duration_time(data, type, dataToSet){
var start = dataToSet.date_start;
var end = dataToSet.date_end;
var time = moment.utc(moment(end, "YYYY-MM-DD HH:mm:ss").diff(moment(start, "YYYY-MM-DD HH:mm:ss"))).format("mm:ss");

return time;
}

function incomplete(data, type, dataToSet){
return dataToSet.incomplete == 0 ? 'Complete' : 'Incomplete';
}

最佳答案

您必须使用Sorting plug-ins .

它允许您根据类型而不仅仅是数据对列进行排序。

您的代码将如下所示:

<script type="text/javascript" src="jquery.dataTables.js"></script>
<script type="text/javascript" src="dataTables.numericComma.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#example').dataTable( {
"columnDefs": [
{ "type": "time", targets: 3 }
]
} );
} );
</script>

关于javascript - 数据表排序时间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37588890/

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