Почему мой datatable не распознает функцию fnDestroy () внезапно? - PullRequest
0 голосов
/ 01 июня 2018

Мой код был в порядке, но сегодня утром он начал вести себя немного иначе, выдав ошибку:

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'
    }
  ]
});

Iиспользую данные таблицы 1.10.15.До сегодняшнего дня все работало, но не сейчас.

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

DataTable предназначен для вызовов API обратно в объект, и dataTable, кажется, является методом инициализации

Он не будет работать так

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

Он будет работать так

$('#tblServicesReport').dataTable().fnDestroy();
0 голосов
/ 01 июня 2018

Метод fnDestroy() находится в области действия $.fn.dataTable - обратите внимание на нижний регистр D.Измените код следующим образом:

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

Рабочий пример

Также обратите внимание, что это не новое изменение, оно имело место длянесколько лет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...