1

我正在尝试向我的 DataTable 添加按钮。按照https://github.com/rweng/jquery-datatables-rails中的说明,我添加了 dataTables.buttons JS。

我的应用程序.js:

//= require jquery
//= require jquery.turbolinks
//= require jquery-ui
//= require jquery_ujs
//= require dataTables/jquery.dataTables
//= require dataTables/extras/dataTables.buttons
//= require bootstrap
//= require turbolinks
//= require_tree .

我没有在 gem https://github.com/rweng/jquery-datatables-rails/tree/master/app/assets/stylesheets/dataTables/extras的资产中找到 CSS 。

因此我的 application.css (不包含与按钮相关的任何内容):

*= require jquery-ui
*= require dataTables/src/demo_table_jui
*= require_tree .
*= require_self
*/

在我的咖啡脚本中(模仿https://datatables.net/extensions/buttons/examples/initialisation/export.html):

jQuery ->
    $('#rating').dataTable(
            bJQueryUI:       true,
            sPaginationType: "full_numbers",
            iDisplayLength:  100,
            scrollY:         "1000px",
            scrollCollapse:  true,
            dom: 'Bfrtip',
            buttons: [
                'copy', 'excel', 'pdf'
            ]
            )

我猜我错过了一些愚蠢的东西,比如 CSS 或一些碰撞选项。当我尝试添加 javascript_tag ( https://cdn.datatables.net/buttons/1.1.2/js/dataTables.buttons.min.js ) / stylesheet_tag ( https://cdn.datatables.net/buttons/1.1.2 /css/buttons.dataTables.min.css)到视图,但这没有帮助。

4

1 回答 1

1

似乎您已经创建了按钮,但您仍然需要在页面中显示它们。

你可以尝试这样的事情:

jQuery ->
    table = $("#rating").dataTable(
        bJQueryUI: true,
        sPaginationType: "full_numbers",
        iDisplayLength: 100,
        scrollY: "1000px",
        scrollCollapse: true,
        dom: "Bfrtip",
        buttons: [
            "copy",
            "excel",
            "pdf"
        ]
    )
    table.buttons()
        .container()
        .appendTo( $(".your-div-for-button", table.table().container() ) );

也就是说,在创建之后,您将按钮显式附加到正文。让我知道。

于 2016-05-07T22:59:42.730 回答