Javascript Datatable在删除后导出值

Javascript Datatable在删除后导出值,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个表,我想使用jQuery Datatables导出按钮导出数据,问题是我想清除特定列中的特定值(在浏览器上的HTML表中没有问题),问题是当我尝试导出数据时。Datatables正在创建一个文件,其中包含我应该删除的数据 这是我的密码: $("#TableId").DataTable({ dom: '<"top"Bf>rt<"bottom"lip><"clear">', buttons: [ "copy", //'csv', 'exce

我有一个表,我想使用jQuery Datatables导出按钮导出数据,问题是我想清除特定列中的特定值(在浏览器上的HTML表中没有问题),问题是当我尝试导出数据时。Datatables正在创建一个文件,其中包含我应该删除的数据

这是我的密码:

$("#TableId").DataTable({
  dom: '<"top"Bf>rt<"bottom"lip><"clear">',
  buttons: [
    "copy", //'csv', 'excel', 'pdf', 'print'
    {
      extend: "excel",
      title: "Report",
      footer: true
    },
    {
      extend: "pdf",
      title: "Report",
      footer: true
    },
    {
      extend: "print",
      title: "Report",
      footer: true
    }
  ],
  aLengthMenu: [[2, 3, 5, 1, -1], [2, 3, 5, 1, "All"]],
  bDestroy: true,
  iDisplayLength: -1,
  fnDrawCallback: clearDateValues
});

function clearDateValues() {
  $("#TableId tbody .clearthis").each(function() {
    $(this).text("");
  });
}
$(“#TableId”).DataTable({
dom:'rt',
按钮:[
“复制”、“csv”、“excel”、“pdf”、“打印”
{
扩展:“excel”,
标题:“报告”,
页脚:对
},
{
扩展:“pdf”,
标题:“报告”,
页脚:对
},
{
扩展:“打印”,
标题:“报告”,
页脚:对
}
],
阿伦提努:[[2,3,5,1,-1],[2,3,5,1,“全部”],
是的,
i显示长度:-1,
fnDrawCallback:clearDateValues
});
函数clearDateValues(){
$(“#TableId tbody.clearthis”).each(function(){
$(此).text(“”);
});
}
这是你的电话号码


我做错了什么?也许updateTable是在frDrawCallback上调用的?

在初始化插件之前清除元素

插件在内部存储数据,因此在初始化后清除html中的文本不会将其从内部数据缓存中删除。将导出的是内部数据,而不是可见的html文本

如果开始时文本为空,则内部缓存将与显示的内容相同

$("#TableId tbody .clearthis").empty();

$("#TableId").DataTable({......})
您还可以完全删除这些行,例如:

$("#TableId tbody tr").has('.clearthis').remove()
  • 由于表中的
    数据
    将导出到excel,因此我们应该使用DataTable方法清除fnDrawCallback上的数据

  • 为了保持排序,添加了一个不可见列来存储排序值,可见列(退出数据)将使用不可见列中的数据进行排序


  • 上述变更适用于本项目。然而,如果我们在路径出口

    上排序,表格看起来很奇怪。是的,这是我尝试过的,但排序对我来说非常重要,并且以这种方式排序会发生变化。不完全清楚您希望这一切如何工作。可能需要设置自定义排序功能,非常感谢!!!关闭添加隐藏列以保持排序的选项非常有用!!!