我有一些带有一些设置的数据表,
$(tblCategory).dataTable({
"bPaging": true,
"sPaginationType": "full_numbers", //
"bPaginate": false, // shows both next prvious and show 10,20,30 entries
"sdom": 't',
"bprocessing": false, //
"sAjaxSource": "PM_MasterHelper.ashx?m=pmcfl&UserCode="+UserCode,
"bFilter": false, // search btn avail
"bDestroy": true
}
现在我想改变或添加像" bInfo":true," bPaginate"的设置:true,当我点击html输入按钮时。
请帮助我实现这一目标。
尝试1: 我尝试了以下方法,但它不会影响数据表。
oTable = $("tblCategory").dataTable();
var oSettings = oTable.fnSettings();
oSettings.bInfo= true;
oSettings.bPaginate = true;
答案 0 :(得分:3)
简单地说,DataTables不允许在初始化时间之外的任何时间更改初始化选项。初始化后对表的任何操作都必须通过API
完成
解决方案是破坏表格:
table = $('#example').DataTable( {
paging: false
} );
table.destroy();
table = $('#example').DataTable( {
searching: false
} );
你也可以这样做:
table = $('#example').DataTable( {
destroy: true,
searching: false
});
这有一些性能影响,它也会重置分页。
答案 1 :(得分:3)
您应该重新初始化数据表:
//Default Options Object
var tableOptions = {
'bPaginate': true,
'searching' : true
};
//The table has already been initialized
var table = $("#ExampleTable");
tableOptions.bPaginate = true;
table.DataTable().destroy()
table.DataTable(tableOptions);
答案 2 :(得分:0)
在应用新选项之前,您需要执行DataTable().destroy()
,例如:
oTable = $("tblCategory").DataTable();
var oSettings = oTable.fnSettings();
oSettings.bInfo= true;
oSettings.bPaginate = true;
oTable.destroy();
$("tblCategory").DataTable(oSettings);
此外,您需要将DataTable()与大写字母D一起使用。
答案 3 :(得分:-2)
将数据表存储在变量中 var tableCategory = $ j(tblCategory).dataTable(... 然后更改设置对象上的属性