Получаване на грешка - 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 щяха да изведат грешката „недефинирано“, така че го промених обратно... така е.

person nihaoqiulinhe    schedule 06.12.2016

Вижте тази тема тук - говори се за разликата между .DataTable() и .dataTable().

person colin0117    schedule 23.03.2018