Получение ошибки - TypeError: DataTable.fnDestroy не является функцией

У меня есть следующий код, который использует таблицу данных

Contact.dataTable = $('#table').dataTable( {
.............
},
 $('#table tbody').on('click', '.position', function () {
            var row = this.parentElement;
             var data = Contact.dataTable.row(row).data();
...
}

Поскольку приведенный выше код выдавал ошибку "TypeError: Contact.dataTable.row is not a function", я изменил каждый dataTable на DataTable. Но теперь выдает ошибку "TypeError: Contact.DataTable.fnDestroy is not a function".

Ниже приведен код, который выдает ошибку

Contact.DataTable = $('#table').DataTable( {
    .............
    },
     $('#table tbody').on('click', '.position', function () {
                var row = this.parentElement;
                 var data = Contact.DataTable.row(row).data();
    ...
    }

if('DataTable' in Contact) {
            Contact.DataTable.fnDestroy();
}

Кто-нибудь, пожалуйста, помогите!


person Futuregeek    schedule 09.08.2015    source источник
comment
Хм, Contact.dataTable !== Contact.DataTable, кажется, вы до сих пор работаете с двумя разными вещами?   -  person adeneo    schedule 09.08.2015
comment
Нет, когда я использую Contact.dataTable ->, это выдает ошибку, например, Contact.dataTable.row не является функцией. Поэтому я заменил все экземпляры dataTable на DataTable - и теперь выдает ошибку - fnDestroy не является функцией   -  person Futuregeek    schedule 09.08.2015


Ответы (2)


Кажется, это разница между...

_table = jQuery('table#fp-table-table').dataTable(); // .fnDestroy() работает и

_table = jQuery('table#fp-table-table').DataTable(); // .fnDestroy() не работает DataTable, по-видимому, для вызовов API обратно в объект, а dataTable, по-видимому, является методом инициализации.

В моем проекте я изменил инициализацию, чтобы использовать DataTable вместо dataTable для выполнения задачи фильтрации. После этого мои перезагрузки AJAX выдавали ошибку «undefined», поэтому я изменил ее обратно ... i esta.

person nihaoqiulinhe    schedule 06.12.2016

См. этот поток здесь - там говорится о разнице между .DataTable() и .dataTable().

person colin0117    schedule 23.03.2018