【发布时间】:2019-02-19 15:30:50
【问题描述】:
我有一个由日期填充的 DataTable,如下所示:"/Date(1523260800000)/",我希望它们显示为:January 1, 2000。
我有一个 sn-p,确实在我的代码的不同区域工作,但是当我尝试将它集成到 DataTables 中时它不起作用。关于返回 JSON 节点 + 函数的一些事情,整个事情都变得很糟糕。
JS sn-p:
import $ from 'jquery';
import admissData from '../JSON/admiss.json';
import DataTable from 'datatables.net';
function loadAdmiss() {
let admissText = admissData.d.results.map(function(val) {
return {
"Info": val.info,
"Date of Admission": val.dateofadmission, function() { // ----- this code block works elsewhere
let jsonDate = val.dateofadmission;
let value = new Date(parseInt(jsonDate.replace(/(^.*\()|([+-].*$)/g, ''))
);
let dat = value.getMonth() + 1 + "/" + value.getDate() + "/" + value.getFullYear();
return dat;
},
"Expires": val.expires
}
})
渲染数据表:
$('#admissions-table').DataTable({
columns: [
{ data: "Info" },
{ data: "Date of Admission" },
{ data: "Expires" }
],
data: admissText,
...
JSON sn-p:
{
"d": {
"results": [
{
...
"dateofadmission": "/Date(1523260800000)/",
...
...
【问题讨论】:
-
我认为这不会回答您的问题,但您是否尝试过数据表renderers?因此,您无需在获取数据后使用 map 来更改数据,而是将其放入各个列的渲染函数中。
-
@PriyankPanchal 我以前使用过渲染器。我会看看,看看我能做些什么。谢谢!
标签: javascript jquery json date datatable