jQuery数据表按钮默认值

时间:2017-01-03 22:41:13

标签: datatables default-value datatables-1.10 datatable-buttons

我有一些样式需要应用于所有DataTables按钮,以便它们匹配我网站上的其他按钮。我可以使用the className option添加,如下所示,但我不想每次都提供相同的东西。

手动示例

$('#myTable').DataTable({
  buttons: [
    {
      text: 'I look like a button',
      className: 'icanhazdefalt'
    }
  ]
})

我在文档中看到默认值为undefined。我无法在文档中的任何位置找到您可以覆盖此选项或其他选项的默认值。这可能吗?类似的东西:

$.fn.DataTable.Buttons.options.extend({
  className: 'icanhazdefalt'
})

我需要的是能够设置插件本身的默认值(而不是特定的实例)。然后,我从那时起在页面上创建的所有实例都将具有我指定的默认值。我可以包含在插件脚本之后设置默认值的脚本(可能在布局文件中),这样我就不必手动执行任何操作来使所有后续实例都具有默认的className(但仍然可以通过显式覆盖它)提供它如上面的“手册示例”所示。

1 个答案:

答案 0 :(得分:0)

使用:

$('#myTable').DataTable( {
    buttons: {
        buttons: [
            { extend: 'copy', className: 'copyButton' },
            { extend: 'excel', className: 'excelButton' }
        ]
    }
} );

参考:https://datatables.net/reference/option/buttons.buttons.className

编辑:可能有更好更简单的方法,但这就是我现在提出来的。

//DataTable
var table= $("#myTable").DataTable( {
    dom: 'Bfrtip',
    buttons: [
        {
            text: 'I look like a button'
        },
        {
            text: 'I dont'
        }
    ]
} );

//Add class to all buttons
$(table.buttons()).each(function(){
    $($(this)[0]["node"]).addClass("sampleClass");
});

您还可以通过为按钮()提供参数来更改按钮选择。 请参阅此link