Я пытаюсь создать общий JS-метод, который будет корректировать (fnAdjustColumnSizing()
) все видимые таблицы данных. Проблема в том, что я просто не могу получить синтаксис совершенно правильно...
До сих пор я получил это близко:
$.fn.dataTable.fnTables(true); //this gets all visible dataTables...
$('#givenTable').dataTable().fnAdjustColumnSizing(); //this adjusts a given dataTable
$.each($.fn.dataTable.fnTables(true), function(singleTable) {
$(singleTable).dataTable().fnAdjustColumnSizing();
}); // And this just don't work! Don't know why...
Любые идеи или предложения по альтернативному способу это сделать?
EDIT: я ответила ниже как правильный ответ, но я обнаружил, что было неправильно в моем первоначальном подходе (и будет включать его, поскольку это может быть полезно другим): Это синтаксис функции $.each
, которая должна получают 2 параметра, являясь первым индексом, а второй - самим элементом. Так:
$.each($.fn.dataTable.fnTables(true), function(idx, singleTable) {
$(singleTable).dataTable().fnAdjustColumnSizing();
}); // This works!
Документация API DataTables содержит пример, который может вам помочь:
var table = $.fn.dataTable.fnTables(true);
if ( table.length > 0 ) {
$(table).dataTable().fnAdjustColumnSizing();
}