为什么我的数据表突然无法识别fnDestroy()函数?

时间:2018-06-01 08:44:46

标签: javascript jquery html asp.net-mvc datatables

我的代码很好,但是今天早上它通过抛出错误开始表现得有点不同了:

  

fnDestory()不是函数

$('#tblServicesReport').DataTable().fnDestroy();

$('#tblServicesReport').DataTable({
  dom: 'Bfrtip',
  buttons: [
    'copyHtml5',
    'excelHtml5',
    'csvHtml5',
    {
      extend: 'pdfHtml5',
      title: 'Services Report (' + $('#FromDate').val() + ' - ' + $('#ToDate').val() + ')',
      customize: function(doc) {
        doc.styles.title = {
          color: 'gray',
          fontSize: '15',
          alignment: 'center'
        }

        doc.content[1].table.widths = Array(doc.content[1].table.body[0].length + 1).join('*').split('');
        doc.styles.tableHeader.fontSize = 10;
        doc.styles.tableHeader.alignment = 'left';
        doc.styles.tableHeader.color = 'white'
      }
    },
    {
      extend: 'print'
      //title: 'Sales Report'
    }
  ]
});

我正在使用数据表1.10.15。直到今天,一切都在运作,但现在还没有。

2 个答案:

答案 0 :(得分:0)

fnDestroy()方法位于$.fn.dataTable范围内 - 请注意小写D。将代码更改为:

$('#tblServicesReport').dataTable().fnDestroy();

Working example

另请注意,这不是一个新的变化,已经好几年了。

答案 1 :(得分:-1)

DataTable用于将API调用返回到对象中,而dataTable似乎是初始化方法

它不会像这样工作

$('#tblServicesReport').DataTable().fnDestroy();

它会像这样工作

$('#tblServicesReport').dataTable().fnDestroy();