调整(列大小)所有可见数据表

时间:2013-10-03 19:27:45

标签: javascript jquery datatables

我正在尝试创建一个通用的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!

1 个答案:

答案 0 :(得分:1)

DataTables API文档包含可能对您有帮助的an example

var table = $.fn.dataTable.fnTables(true);
if ( table.length > 0 ) {
    $(table).dataTable().fnAdjustColumnSizing();
}