我正在尝试创建一个通用的JS方法来调整(fnAdjustColumnSizing()
)所有可见的dataTable。问题是我无法正确地理解语法......
到目前为止,我得到了这个结论:
$.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...
有关替代方法的任何想法或建议吗?
编辑:我将下面的答案标记为正确的答案,但我确实发现我的原始方法出了什么问题(并且会包含它,因为它可能对其他人有用):这是语法$.each
提供的函数,它应该接收2个参数,第一个是索引,第二个是元素本身。所以:
$.each($.fn.dataTable.fnTables(true), function(idx, singleTable) {
$(singleTable).dataTable().fnAdjustColumnSizing();
}); // This works!
答案 0 :(得分:1)
DataTables API文档包含可能对您有帮助的an example:
var table = $.fn.dataTable.fnTables(true);
if ( table.length > 0 ) {
$(table).dataTable().fnAdjustColumnSizing();
}