我想知道是否有办法在jQuery DataTable上有条件地设置属性,从而避免重复几乎相同的具有重复属性的表转换调用。
例如,我有一个表,如果某个布尔值为true,我想提供一个Excel导出按钮,但如果该布尔值为false,则不提供它。
if blnExport {
$('#tblDetail').DataTable({
bPaginate: false,
aaSorting: [],
language: { emptyTable: "No Results Found" },
dom: 'Bfrtip',
buttons: [
{
extend: 'excel',
text: 'Export to Excel',
exportOptions: {
columns: [0, 1, 2, 3, 4, 5, 6, 7]
}
}]
});
}
else {
$('#tblDetail').DataTable({
bPaginate: false,
aaSorting: [],
language: { emptyTable: "No Results Found" }
});
}
有没有办法通过一次转换调用来完成此操作?感谢。
答案 0 :(得分:1)
假设你有function
这样的话:
function myFunction(params) {
//Do something
}
让我们考虑这个例子:
var input = {
a: 1;
};
if (Math.floor(Math.random() * 2)) {
input.b = 2;
}
myFunction(input);
正如您在示例中看到的那样,a
始终是input
的成员,但我们随机化了b
是否应该在其中。基本上,这个想法是:
input
对象function
让我们将其应用于您的具体案例:
var input = {
bPaginate: false,
aaSorting: [],
language: { emptyTable: "No Results Found" }
};
if (blnExport) {
input.dom = 'Bfrtip';
input.buttons = [{
extend: 'excel',
text: 'Export to Excel',
exportOptions: {
columns: [0, 1, 2, 3, 4, 5, 6, 7]
}
}];
}
$('#tblDetail').DataTable(input);