微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – DataTables:未捕获的TypeError:无法读取未定义的属性“按钮”

我在设置使用Buttons插件自定义dataTable时遇到问题.

我可以设置一个有效的custom default dom布局:

//vanilla dom (frtip...)
$.extend($.fn.dataTable.defaults,{
  dom: 'frtip'
});

但如果我尝试include the “B” character in the dom layout

// Invoke Buttons plugin (Bfrtip...)
$.extend($.fn.dataTable.defaults,{
  dom: 'Bfrtip'
});

…然后运行dataTables,报告此JavaScript错误

Uncaught TypeError: Cannot read property ‘buttons’ of undefined

我究竟做错了什么?

see an example of this at https://jsfiddle.net/jhfrench/at83rcoL/

解决方法

我在起草这个问题时想通了.在这里分享来之不易的答案:

仅包含相关的JS资产(jquery.dataTables.min.js,dataTables.buttons.min.js等)是不够的.您还必须通过使用按钮对象元素扩展认值来调用Buttons插件

// Invoke Buttons plugin (Bfrtip...)
$.extend($.fn.dataTable.defaults,{
    buttons: [ 'copy','csv','excel' ]
});

或者你可以在dataTable()初始化时调用它:

$("#table2").DataTable({
  buttons: [
    'copy','excel','pdf'
  ]
});

有关examples of both approaches working,请参见https://jsfiddle.net/jhfrench/at83rcoL/8/.

原文地址:https://www.jb51.cc/js/153876.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐