我正在尝试订购我的jQuery数据表(下面),但无法获得第一列按降序排序。我尝试了"order": [[0, 'desc']]
,但它不起作用。 The JS fiddle is here。
<table id="datatable-table" class="table table-striped table-hover">
<thead>
<tr>
<th class="hidden-xs" style="width: 10%">Submission Date</
<th class="hidden-xs" style="width: 10%">Start Date</th>
<th class="hidden-xs" style="width: 10%">End Date</
</tr>
</thead>
答案 0 :(得分:0)
根据您的JSFiddle,您想要使用d M Y
格式对输出日期的第一列进行排序,以便将日期(UK 01/01/2017)表示为01 Jan 2016
?这不是DataTables理解的格式,因此您需要添加这样的排序方法:
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"dateNonStandard-asc": function (a, b) {
var x = parseInt(moment(a, "DD MMM YYYY").format("X"), 10);
var y = parseInt(moment(b, "DD MMM YYYY").format("X"), 10);
return (x == y) ? 0 : (x < y) ? 1 : -1;
},
"dateNonStandard-desc": function (a, b) {
var x = parseInt(moment(a, "DD MMM YYYY").format("X"), 10)
var y = parseInt(moment(b, "DD MMM YYYY").format("X"), 10);
return (x == y) ? 0 : (x < y) ? -1 : 1;
}
});
这是一个有效的example,我希望它有所帮助。