2017-08-08 32 views
0

我目前有通過AJAX從REST API端點加載數據的表:數據之前,jQuery庫

$(document).ready(function() { 
    var table = $('#pendingTable').DataTable({ 
     ajax: { 
      type: "GET", 
      url: url + '/rest/endpoint, 
      dataSrc: "_deployments" 
     }, 

    columns: [ 
     { data: "service_name" }, 
     { data: "git_organization" }, 
     { data: "id" }, 
     { data: "timestamp" }, 
     { data: "username" }, 
     { data: "environment" }, 
     { data: "site" }, 
     { data: "status" } 
    ], 
    fnCreatedRow: function(nRow, aData, iDataIndex) { 
     $(nRow).attr('onclick', "openModal(" + aData["id"] + ")"); 
    }, 
    order: [ 
     [2, 'sc'] 
    ] 
}); 
$('.table-responsive').css('opacity', '0').fadeTo(500, 1, 'swing'); 
$('#pendingTable_filter input').attr("placeholder", "by User, Org & More"); 
}); 

我一直在探索DataTables.net文檔,但我有確定的問題在繪製表格之前操作「時間戳」數據的最佳操作過程(即將其格式化爲適當的日期)。

該API提供了修改單個單元格的功能,這些單元格可以迭代,列或兩者兼有。我將如何去格式化這個時間戳? (該值只是表示毫秒的字符串)。我是否需要某種形式的回調,還是應該在繪製完表格之後操作數據?

任何例子將不勝感激。道歉,我沒有任何例子可以提供我嘗試過的東西,其中大部分都是僞代碼,沒有做到我認爲的那樣。

+0

可以使用columnDefs渲染https://datatables.net/examples/advanced_init/column_render.html – charlietfl

回答

2

這就是我使用render來完成的,它允許您在顯示數據之前操作數據。

{ data: "id" }, 
{ 
    'render': function (data, type, full, meta) { 
     var date = new Date(parseInt(data.substr(6), 0)); 
     return ISODateString(date); 
    } 
}, 
{ data: "username" }, 

我創建了一個名爲ISODateString函數,返回時間戳的日期,月份和年份部分(當然你也可以在必要時返回的時間部分)。

function ISODateString(d) { 
    function pad(n) { return n < 10 ? '0' + n : n } 
    return pad(d.getDate()) + '/' + pad(d.getMonth() + 1) + '/' + d.getFullYear(); 
} 
+0

我需要什麼樣的,謝謝! – Lukon

相關問題