Я пытаюсь сделать недействительными строки, которые можно датировать, но по какой-то причине он выдает мне следующую ошибку:
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'
},
],
});