【问题标题】:How to update/add buttons once instantiated datatables实例化数据表后如何更新/添加按钮
【发布时间】:2016-06-29 16:26:35
【问题描述】:

我是 JavaScript 新手,我缺乏 JavaScript 对象知识。 我想知道如何在创建后添加数据表 1.10 按钮的扩展。

我的代码是:

var table;
$('#MyDiv').DataTable({someCode;});
$.fn.dataTable.ext.buttons.ok = {
    text: 'OK',
    action: function (e, dt, node, config) {
        console.log("Hi");
    }
};
table = $('#MyDiv').DataTable();
//!Here I want to add my button in table var!

【问题讨论】:

  • 您似乎在确定按钮的定义末尾缺少一个花括号。不确定这是否是您的问题的一部分。
  • 谢谢,语法没有问题。

标签: javascript datatable datatables datatables-1.10


【解决方案1】:

选项 1

最简单的方法(在我看来)是使用按钮声明的选项形式,而不是您在此处尝试使用的函数形式。在你的情况下,这看起来像这样:

table = $('#MyDiv').DataTable({
    /*Other DataTables config options go here*/
    buttons: [
        {
            text: 'OK',
            action: function ( e, dt, node, config ) {
                console.log("Hi");
            }
        }
    ]
});

这可以在DataTables examples 中找到,这是一个很好的数据表信息来源。

选项 2

如果您希望继续使用函数符号,那么您只需将按钮声明添加到选项中,而不是上面示例中的整个操作/文本块。见下文:

var table;
//You should not have 2 .DataTable() calls, so I removed this one
//Move any other options you had to the other call below
$.fn.dataTable.ext.buttons.ok = {
    text: 'OK',
    action: function (e, dt, node, config) {
        console.log("Hi");
    }
};
table = $('#MyDiv').DataTable({
    /*Other DataTables config options go here*/
    buttons: [
        'ok'
    ]
});

无论哪种方式都应该可行,这取决于您喜欢如何组织代码。

我还建议您访问 DataTables 网站上的 custom buttons documentation 以获取更多信息或查看我从何处获得这些代码块。

【讨论】:

  • 这不是一个选项,因为您正在与按钮一起创建数据表,我想创建数据表并在另一部分代码中添加/更新按钮。
  • 为什么要在 DataTables 初始化之外的地方添加按钮?您正在使用 DataTables 按钮功能,因此必须将按钮附加到 DataTable。如果您不想这样做,则必须添加一个标准的 JS 按钮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多