簡體   English   中英

jQuery Datatables降序排序不適用於“ order”選項

[英]jquery Datatables descending sort not working with “order” option

我試圖排序我的jQuery數據表(如下),但無法獲得第一列以降序排序。 我試過了"order": [[0, 'desc']] ,但是不起作用。 JS小提琴在這里

 <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>

根據您的JSFiddle,您想使用d MY格式對輸出日期的第一列進行排序,因此日期(英國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;
  }
});

這是一個可行的示例 ,希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM