2016-08-16 196 views
0

我正在使用DataTables 1.10.10。我想修改主插件JavaScript以覆盖iDisplayLength值为-1。这样,我的所有数据表默认显示“全部”,用户可以根据需要过滤掉。jQuery DataTables插件 - iDisplayLength

在文件的哪里会设置?我无法找到它。我已经搜索了iDisplayLength并尝试用-1覆盖值,但它没有取得,所以我猜测它被设置在某个我不期待的地方。

回答

0

找到它了。上线6262(在我jquery.dataTable.js文件至少),下面的代码

// Map the initialisation options to the settings object 
_fnMap(oSettings.oFeatures, oInit, [ ..... 

之前,我加入以下行

oInit.iDisplayLength = -1; 

现在的DataTable与加载显示“全部”一如既往,甚至如果报告具有指定的iDisplayLength。

0

我认为,更改源文件有主要缺点。例如,如果您想更新库,所有更改都将丢失。 DataTables库为什么不是creating a personal plugin。像:

$.fn.myDataTable = function() {  
    $(this).dataTable({ 
    "iDisplayLength": -1 
    }); 
}; 

// call 
$(".allTables").myDataTable(); 
+0

,因为我需要在全局范围内对所有数据表进行一次更改。我需要找到哪里主插件设置基于传入的iDisplayLength的长度,并覆盖它到-1 – Phil

+0

我明白这一点。但这是我的首选方式。它是干净的,你只需要改变所有的'.dataTable('''.mataTable''在你的脚本中''出现一次,当迁移到更新版本的数据表时零错误 – agoldev

+0

我没有创建我正在处理的网页。它有全部的dataTable,每个都有它自己的init调用,它不是在一次调用中完成的,所以我将有数百个文件更新到myDataTable中,我需要覆盖主jquery.dataTables.js文件并设置所有表的displaylength为-1,无需改变init调用 – Phil