Ошибка повторной инициализации DataTable при циклическом просмотре нескольких таблиц и поиске во вкладках - PullRequest
0 голосов
/ 09 ноября 2019

Я использую DataTable, чтобы показать 3 таблицы ('.dt') на отдельных вкладках вместе с функцией поиска. Я получаю ошибку повторной инициализации всякий раз, когда я загружаю страницу. Это мой код:


            _datatables.forEach(function (datatable) {
                datatable.columns.adjust();
            });

        });

        function formatTable() {

            $('.dt').each(function () {

                var datatable;
                datatable = $(this).DataTable({
                    dom: '<"pull-left"f><"pull-right"l>tip',
                    scrollY: "400px",
                    scrollX: "100%",
                    paging: false,
                    bInfo: false,
                    searching: true,
                    order: [[0, "asc"]],
                    bRetrieve: true
                });

                datatable.columns.adjust();
                _datatables.push(datatable)
            });



        }

Это ошибка, которую я получаю:

DataTables warning: table id=DataTables_Table_2 - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3

1 Ответ

0 голосов
/ 09 ноября 2019

Мой более простой способ справиться с этим, как указано ниже. Есть и другие способы. это зависит от вашей ситуации. если вы действительно не хотите повторной инициализации, просто верните вместо уничтожения.

function formatTable() {
         var tables = {};
         $('.dt').each(function () {
           if(tables[$(this).attr('id')]){
              tables[$(this).attr('id')].destroy();
              //return from here if you do not want to re-initialize
           }
           tables[$(this).attr('id')] = $(this).DataTable({
                dom: '<"pull-left"f><"pull-right"l>tip',
                scrollY: "400px",
                scrollX: "100%",
                paging: false,
                bInfo: false,
                searching: true,
                order: [[0, "asc"]],
                bRetrieve: true
            });

            datatable.columns.adjust(); 
        });

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