我有一张包含各种行的表格。现在我需要根据提交日期对数据进行排序。最新日期应该是第一个。我怎样才能在javascript中启动它。日期格式为" 2017-09-18T22:37:58.95"。有什么帮助吗?
样本表格式为:
以下是从DB获取数据的代码:
function BindTable(startdate, enddate) {
var url = //weburl....
$('#TicketTable > tbody > tr ').remove();
$.ajax({
url: url,
type: "Get",
dataType: "json",
data: {
Year: startdate,
Rtype: enddate,
Filtertxt: selPhaseNumber
},
crossDomain: true,
success: function(data) {
var rowCount = data.length;
$('#num_results span').text(rowCount);
if (data.length > 0) {
var tr;
var totalOFTotal = 0;
for (var i = 0; i < data.length; i++) {
tr = $('<tr/>');
tr.append("<td>" + data[i].Executioncyclename + "</td>");
tr.append("<td>" + data[i].Created_by + "</td>");
tr.append("<td>" + data[i].TaskEndDt_WW + "</td>");
tr.append("<td>" + data[i].Total_amt + "</td>");
tr.append("<td>" + data[i].Status + "</td>");
tr.append("<td>" + data[i].SubmittedDate + "</td>");
$('#TicketTable').append(tr);
}
tr = $('<tr style="font-weight: bold; background-color: white" />');
tr.append("<td></td>");
tr.append("<td></td>");
tr.append("<td></td>");
tr.append("<td></td>");
tr.append("<td></td>");
tr.append("<td></td>");
$('#TicketTable').append(tr);
} else {
....... //else part
}
}
});
}
答案 0 :(得分:1)
您可以在for
循环之前进行排序:
data.sort(function(a,b) {
return new Date(b.SubmittedDate) - new Date(a.SubmittedDate);
}
)
答案 1 :(得分:0)
您可以将其添加到群发:
var a =["2017-09-18T22:37:58.95", "2017-11-18T22:37:58.95", "2017-10-18T22:37:58.95", "2017-08-18T22:37:58.95"]
然后排序:
a.sort()
然后反过来:
a = a.reverse()
答案 2 :(得分:0)
我认为你可以在javascript数组中使用SORT
函数。 Try look at this answer。
在sort函数中,比较日期字段并在1
较小时返回a.SubmittedDate
,如果相等则返回-1
或0
。
这样的事情。
...
var tr;
var totalOFTotal = 0;
data.sort(function(a, b) {
return (a.SubmittedDate < b.SubmittedDate) ? 1 : ((a.SubmittedDate > b.SubmittedDate) ? -1 : 0)
});
for (var i = 0; i < data.length; i++) {
tr = $('<tr/>');
tr.append("<td>" + data[i].Executioncyclename + "</td>");
tr.append("<td>" + data[i].Created_by + "</td>");
tr.append("<td>" + data[i].TaskEndDt_WW + "</td>");
tr.append("<td>" + data[i].Total_amt + "</td>");
tr.append("<td>" + data[i].Status + "</td>");
tr.append("<td>" + data[i].SubmittedDate + "</td>");
$('#TicketTable').append(tr);
}
...
希望得到这个帮助。