【发布时间】:2020-04-09 14:34:37
【问题描述】:
我有包含多列日期的数据表。但是在按 asc 和 desc 排序时,所有列的日期都不能正常工作。只是为了通知我所有的日期都是 dd-mm-yyyy 格式。我正在使用一个函数将其设为 dd-mm-yyyy。
我试图申请this 参考但没有帮助。不知道自己申请的方式对不对,请指正。
HTML
<table id="projectListTable">
<thead>
<tr>
<th>Project Name</th>
<th>Plan Start</th>
<th>Plan Finish</th>
</tr>
</thead>
</table>
JS
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"extract-date-pre": function(data) {
if (data == null){
return data;
}
else {
new_data = data.split("T");
new_data[0] = displayDate(new_data[0]);
return new_data[0];
}
},
"extract-date-asc": function(a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"extract-date-desc": function(a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});
$('#projectListTable').DataTable({
columns: [
{ data : "project_name" },
{ data : "project_planned_start",
render: function(data){
if (data == null){
return data;
}
else {
new_data = data.split("T");
new_data[0] = displayDate(new_data[0]);
return new_data[0];
}
}
},
{ data : "project_planned_end",
render: function(data){
if (data == null){
return data;
}
else {
new_data = data.split("T");
new_data[0] = displayDate(new_data[0]);
return new_data[0];
}
}
}
],
columnDefs: [
{
type: 'extract-date',
targets: [1]
},
{
type: 'extract-date',
targets: [2]
}
]
});
【问题讨论】:
标签: javascript jquery datatables