Javascript 如何解决JS表中日期排序的mData错误?
我想使用表中的函数对日期进行排序,但出现此错误Javascript 如何解决JS表中日期排序的mData错误?,javascript,jquery,html,sorting,Javascript,Jquery,Html,Sorting,我想使用表中的函数对日期进行排序,但出现此错误 Uncaught TypeError: Cannot read property 'mData' of undefined 这是我的一张表格数据。我对排序日期有问题,所以我创建了一个排序函数 这是我的JS和datatable,我特意使用datatable来显示它们的功能,如搜索框、导出、分页 JS 我写的示例链接 原因是缺少列。您需要写入所有列,并在函数中过滤您的排序。在示例中,我导入了momente.js对日期进行排序 $('table'
Uncaught TypeError: Cannot read property 'mData' of undefined
这是我的一张表格数据。我对排序日期有问题,所以我创建了一个排序函数
这是我的JS和datatable,我特意使用datatable来显示它们的功能,如搜索框、导出、分页
JS
我写的示例链接
原因是缺少列。您需要写入所有列,并在函数中过滤您的排序。在示例中,我导入了momente.js对日期进行排序
$('table').DataTable({
columns:[
{Data: "task_name"},
{Data: "task_owner"},
{Data: "task_planned_start_date", render: handlerRenderDate},
{Data: "task_planned_end_date", render: handlerRenderDate},
{Data: "task_start_date", render: handlerRenderDate},
{Data: "task_end_date", render: handlerRenderDate},
]
});
function handlerRenderDate(data, type){
return type === 'sort' ? data : moment(data).format('DD.MM.YYYY');
}
我写的示例链接
原因是缺少列。您需要写入所有列,并在函数中过滤您的排序。在示例中,我导入了momente.js对日期进行排序
$('table').DataTable({
columns:[
{Data: "task_name"},
{Data: "task_owner"},
{Data: "task_planned_start_date", render: handlerRenderDate},
{Data: "task_planned_end_date", render: handlerRenderDate},
{Data: "task_start_date", render: handlerRenderDate},
{Data: "task_end_date", render: handlerRenderDate},
]
});
function handlerRenderDate(data, type){
return type === 'sort' ? data : moment(data).format('DD.MM.YYYY');
}
接下来,我将平均插入所有列。由此错误出现<代码>数据表警告:表id=DataTables\u table\u 11-为第0行第0列请求的未知参数“0”@masteruse I编辑并放置链接工作。我建议你使用table tbody,thead tug to html,只将数据附加到tbody,然后初始化tablehow,如果我没有使用moment.js插件?还有其他解决办法吗?我从DB收到日期,我使用从yyyy-mm-dd到dd-mm-yyyy的函数进行按摩。是的,您可以为td设置数据顺序属性,您可以将字符串解析为数字并写入,这样您就不需要使用呈现方法。也许您可以根据此语句编辑您的答案?:-)接下来,我将平均插入所有列。由此错误出现<代码>数据表警告:表id=DataTables\u table\u 11-为第0行第0列请求的未知参数“0”@masteruse I编辑并放置链接工作。我建议你使用table tbody,thead tug to html,只将数据附加到tbody,然后初始化tablehow,如果我没有使用moment.js插件?还有其他解决办法吗?我从DB收到日期,我使用从yyyy-mm-dd到dd-mm-yyyy的函数进行按摩。是的,您可以为td设置数据顺序属性,您可以将字符串解析为数字并写入,这样您就不需要使用呈现方法。也许您可以根据此语句编辑您的答案?:-)
$('table').DataTable({
columns:[
{Data: "task_name"},
{Data: "task_owner"},
{Data: "task_planned_start_date", render: handlerRenderDate},
{Data: "task_planned_end_date", render: handlerRenderDate},
{Data: "task_start_date", render: handlerRenderDate},
{Data: "task_end_date", render: handlerRenderDate},
]
});
function handlerRenderDate(data, type){
return type === 'sort' ? data : moment(data).format('DD.MM.YYYY');
}