2016-09-26 32 views
0

請不要重複,因爲我沒有找到解決方案的任何地方。DataTable時刻對於排序Date-Time列不起作用?

以下行無法在DataTable中一起排序日期和時間。

enter image description here

其次,我用下面的代碼進行排序工作,但它並不:

$.fn.dataTable.moment('HH:mm dd/mm/YY'); 
    //$.fn.dataTable.moment('DD-MM-YYYY HH:mm'); 

DataTable初始化我用下面的代碼:

$('.dataTable').DataTable({ 
    ordering: true, 
    paging: true, 
    searching: true, 
    dom: 'Bftripl', 
    buttons: [ 
     'excelHtml5', 
     'csvHtml5', 
     'pdfHtml5' 
    ], 
    "columnDefs": [ 
     //{ "type": "date-euro", targets: 1 } 
     //{ "sType": "date-uk", targets: 1 } 
    ] 
}); 

我已添加文件:datetime-moment.js

沒有任何代碼可用於整理date column,所以請任何人幫忙或在jsFiddle上提供示例。

感謝網友的先進:)

對於阿南你的代碼給我下面的輸出: 使用更新後的代碼,但因爲我使用PHP將數據輸入表不能通過數據後....

$.fn.dataTable.moment('HH:mm DD/MM/YYYY'); 
$('.dataTable').DataTable({ 
    ordering: true, 
    paging: true, 
    searching: true, 
    dom: 'Bftripl', 
    buttons: [ 
     'excelHtml5', 
     'csvHtml5', 
     'pdfHtml5' 
    ] 
}); 

但遺憾的是沒有工作:( enter image description here

+0

能否請你創建一個'的jsfiddle你的代碼並將其添加到你的問題中。這將有助於解決您的問題。 –

+0

你的時間格式應該是'YYYY'。只要'2016',而不是'16',你可以在http://live.datatables.net/xedayaxi/1/edit中試試。 – Anan

+0

嗨我已經嘗試過,以及YYYY,但沒有任何作品.... :(抱歉,但我嘗試了幾乎所有的選項,這就是爲什麼我問,如果有人爲我創建示例我看着你的例子,你正在把數據放入你的js datatable,但你可以檢查,如果你直接提供你的日期時間列表的HTML表,那麼它不會工作,因爲我試着再次測試你的代碼,但沒有成功。: – user2268488

回答

0

,那是因爲你的時間格式是錯誤的;再看這個:

有我的例子吧:http://live.datatables.net/xedayaxi/1/edit

根據作者,把數據放到HTML,只是看看這個例子:

$(document).ready(function() { 
 

 
    $.fn.dataTable.moment('HH:mm DD/MM/YYYY'); 
 
    
 
    var table = $('#example').DataTable({ 
 
    ordering: true, 
 
    paging: true, 
 
    searching: false, 
 

 
    }); 
 
});
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
 

 
    <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" /> 
 
    <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script> 
 
    <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script> 
 
    <script src="//cdn.datatables.net/plug-ins/1.10.12/sorting/datetime-moment.js"></script> 
 
    <meta charset=utf-8 /> 
 
    <title>DataTables - JS Bin</title> 
 
    </head> 
 
    <body> 
 
    <div class="container"> 
 
<table id="example" class="display" cellspacing="0" width="100%"> 
 
     <thead> 
 
      <tr> 
 
       <th>time</th> 
 

 
      </tr> 
 
     </thead> 
 
     <tfoot> 
 
      <tr> 
 
       <th>time</th> 
 

 
      </tr> 
 
     </tfoot> 
 
     <tbody> 
 
      <tr> 
 
       <td>19:46 30/06/2016</td> 
 

 
      </tr> 
 
      <tr> 
 
       <td>14:46 29/06/2016</td> 
 

 
      </tr> 
 
      <tr> 
 
       <td>19:46 29/07/2018</td> 
 

 
      </tr> 
 
      <tr> 
 
       <td>02:16 29/06/2016</td> 
 

 
      </tr> 
 
      <tr> 
 
       <td>16:46 29/06/2017</td> 
 

 
      </tr> 
 

 
      
 
     </tbody> 
 
    </table> 
 
    </div> 
 
    </body> 
 
</html>

+0

嗨,朋友感謝您的幫助,但它不是像你一樣工作可以看到我的更新回答 – user2268488

+0

你的時間格式的屏幕截圖應該是'YYYY',就像'2016',而不是'16' – Anan

+0

嗨我已經嘗試過以及YYYY,但沒有任何作品.... :(抱歉,但我嘗試幾乎所有的選項,這就是爲什麼我問是否有人爲我創建示例。我看了你的例子,你正在把數據放在你的js數據表中,但是你可以檢查你是否直接提供日期時間到html表中的列,那麼它會不是w因爲我嘗試再次測試你的代碼,但沒有成功。:( – user2268488