Javascript Datatables设置默认选项

Javascript Datatables设置默认选项,javascript,datatables-1.10,Javascript,Datatables 1.10,这就是我初始化数据表的方式 $('#example').dataTable( { "columnDefs": [ { "targets": 0, "searchable": false } ] } ); 我可以做下面这样的事情吗 var mytable = $('#example').dataTable(); mytable.columnDefs({ "columnDefs": [ { "targets": 0, "search

这就是我初始化数据表的方式

$('#example').dataTable( {
  "columnDefs": [ {
      "targets": 0,
      "searchable": false
    } ]
} );
我可以做下面这样的事情吗

var mytable = $('#example').dataTable();

mytable.columnDefs({
  "columnDefs": [ {
      "targets": 0,
      "searchable": false
    } ]
} );

这是因为我想在需要dataTables的页面中包含的js文件中定义一个默认初始化,但仍然能够修改一些选项,以便能够自定义每页的一些内容。

我可以看到这样做的一种可能方式是:

将数据表的初始化替换为:

var mytable;
function initialiseSpecificDatatable(options) {
    mytable = $('#example').dataTable(options);
    return mytable; // Return table so locally you can use it
}
然后,无论您在何处指定/更改选项

var table = initialiseSpecificDatatable({
    "columnDefs": [{
        "targets": 0,
        "searchable": false
    }]
});
如果要重新创建表,您可能需要在创建函数中添加一个
.destroy()
。为此,只需添加:

try {
    $(mytable).DataTable().destroy(); //Note capital D to return a DataTable API (See API docs)
} catch (e) {
    // Fails if the table was not a DataTable at the time
}
initialiseSpecificDatatable
函数的开始处。

是我发现的设置默认值的方法,将用作解决问题的方法。(检查用于合并对象内容的使用)


谢谢

您的$('#示例')。dataTable()和mytable.columnDefs()相等。。。。您试图在这里实现什么?columnDefs()在DataTableIn
initialiseSpecificDatatable
中没有这样的api。DataTable是用现有选项定义的,如果它不存在,我只想向它附加选项,如果它已经存在,则更新选项值。您传递选项的方式会做什么?是的,但是您不应该直接处理dataTables默认值,而应该创建一个副本并处理它->
var params=$.extend({},$.fn.dataTable.defaults)
现在您可以在不更改原始数据表默认值的情况下操作
参数。
// Disable search and ordering by default
$.extend( $.fn.dataTable.defaults, {
    searching: false,
    ordering:  false
} );

// For this specific table we are going to enable searching except on first (0th) column
// (ordering is still disabled)
$('#example').DataTable( {
    searching: true,
    columnDefs: [{
        "targets": 0,
        "searchable": false
    }]
} );