这是我初始化dataTable
的方法$('#example').dataTable( {
"columnDefs": [ {
"targets": 0,
"searchable": false
} ]
} );
我可以做下面的事吗?
var mytable = $('#example').dataTable();
mytable.columnDefs({
"columnDefs": [ {
"targets": 0,
"searchable": false
} ]
} );
这是因为我想在js文件中定义一个默认初始化,我在页面中包含dataTables,但仍然可以修改一些选项,以便能够为每页定制一些东西。
答案 0 :(得分:1)
我可以看到这样做的一种可能方式是:
用以下内容替换数据表的初始化:
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
函数的开头。
答案 1 :(得分:1)
This用于设置默认值,并将用作解决我的问题的方法。 (检查用于合并对象内容的jquery extend的使用)
// 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
}]
} );
由于