Jatery datatables - проблема с недействительными DOM строк - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь сделать недействительными строки, которые можно датировать, но по какой-то причине он выдает мне следующую ошибку:

Uncaught TypeError: Cannot read property 'length' of null
at Ha (jquery.dataTables.min.js:23)
at ca (jquery.dataTables.min.js:22)
at s.<anonymous> (jquery.dataTables.min.js:113)
at s.iterator (jquery.dataTables.min.js:100)
at s.<anonymous> (jquery.dataTables.min.js:113)
at s.invalidate (jquery.dataTables.min.js:102)
at HTMLInputElement.<anonymous> ((index):1108)
at HTMLTableElement.dispatch (jquery-1.12.4.js:5226)
at HTMLTableElement.elemData.handle (jquery-1.12.4.js:4878)

Существует функция триггера недействительности строк:

$('#oDataTable').on('change', ':checkbox.trik', function(e) {
     var row = $(this).closest('tr');
     var tery1 = row.find('input:checkbox:checked').length;
     var kluj = parseInt(tery1);
     var cell = $(this).closest('td.counter');
     row.find('td.counter').text(kluj);
     t.rows().invalidate('dom')     
});

СначалаВ 5 строках он вычисляет флажки, отмеченные в нужной строке, а затем помещает их счетчик в ячейку строки - это работает хорошо.

Но проблема в недействительности DOM - я вызываю его, потому что после добавления моего счетчика в таблицу, Невозможно отсортировать столбец с данными по этим динамическим добавленным значениям счетчика.

Когда я просто использую 'invalidate ()', ошибки не возникает, но сортировка не работает.

Есть и мойдата установки:

var t = $('#oDataTable').DataTable({
      "lengthMenu": [
        [25, 50, 100, 150, 200, -1],
        [25, 50, 100, 150, 200, "All"]
      ],
      dom: 'Blfrtip',
      buttons: [{

          extend: 'colvis',
          collectionLayout: 'fixed four-column',
          text: 'Select columns',
          columnText: function ( dt, idx, title ) {
            return idx+": <b>"+title+"</b>";
          }

      },
      {
          extend: 'excelHtml5',
          exportOptions: {
              columns: [ 12,13,17,45 ]
          }
      }
    ],

      select: {
          style:    'multi+shift'
      },


      "paging": true,
      "colReorder": true,
      "fixedHeader": true,
      "pageLength": 25,
      'ajax': {
        'type': 'POST',
        'url': '/populatedt     
      },
      "deferRender": true,
      'columns': [
        {
                "className":      'details-control doop',
                "orderable":      false,
                "data":           null,
                "defaultContent": ''
        },

    // THERE ARE OTHER COLUMNS AND THEM DATA REFERENCE TO MY AJAX

      ],

      "columnDefs": [
        {
          targets: [1,2,3,4,5,6,7,8,9,10,11],
          orderDataType: 'dom-checkbox'
        },

    ],

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