jquery - 如何用新数据重绘DataTable

标签 jquery datatables

我已经在 stackoverflow 中检查了有关此主题的几个问题,但它们都使用旧的数据表。我正在使用数据表。我通过不使用服务器端来填充数据表,因此数据是预加载的(JSON),如下所示:

datatable = $("#datatable").DataTable({
   data  : myData,
   moreoptions : moreoptions
});

我没有遇到任何问题,数据表加载得很好。现在我想用我上传的新数据重新填充 myData 。如何重新加载数据表以反射(reflect)更改?

这是我迄今为止尝试过的:

$('#upload-new-data').on('click', function () {
   myData = NewlyCreatedData; // I console logged this NewlyCreatedData, and it has my uploaded data.

   datatable.draw(); // Redraw the DataTable
});

但这行不通。我也尝试过这个:

datatable = $("#datatable").DataTable({
   "data"  : myData,
   "drawCallback" : function () {
      myData = NewlyCreatedData;
   },
   "moreoptions" : moreoptions,
});

然后在上传时我只需调用重绘触发器:

$('#upload-new-data').on('click', function () {
   datatable.draw(); // Redraw the DataTable
});

这仍然不起作用。

最佳答案

您必须首先清除表格,然后使用 row.add() 函数添加新数据。最后一步还调整列大小,以便表格正确呈现。

$('#upload-new-data').on('click', function () {
   datatable.clear().draw();
   datatable.rows.add(NewlyCreatedData); // Add new data
   datatable.columns.adjust().draw(); // Redraw the DataTable
});

此外,如果您想查找新旧数据表 API 函数书签 this 之间的映射

关于jquery - 如何用新数据重绘DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25929347/

相关文章:

JavaScript 读取 cookie 不起作用

javascript - 如何在 React 中实现上下滚动的标题动画?

javascript - 如果选中或未选中,更改复选框的父元素 css

javascript - 如何使用 jQuery.grep() 过滤多维 JSON 对象

javascript - jQuery 数据表 : Unsorted View

jquery - 数据表列错位和重复排序箭头问题

jquery 在表格底部添加一行

jquery - 统计DataTables中某个单词出现的总次数

javascript - Shiny 应用程序中嵌入的数据表的条件选择类型

javascript - 在 firefox 上用 js 改变表单方法