【问题标题】:datatables button breaking search functionality数据表按钮破坏搜索功能
【发布时间】:2016-08-03 07:22:38
【问题描述】:

我正在尝试将下载按钮添加到我的表格中,但是当我这样做时,我的列搜索功能会中断并且按钮不显示。我也尝试使用 DOM 实现按钮,但这取代了我的表格大小下拉列表。

$(document).ready(function() {
    var table = $('#myTable').DataTable({
        "buttons": [
            "copy",
            "csv",
            "xls",
            "pdf"
        ]
    }); 
    $('#search-category').on('change',function(){
        table
        .column(3)
        .search(this.value)
        .draw();
    }),
    $('#search-sub-category').on('change',function(){
        table
        .column(4)
        .search(this.value)
        .draw();
    })
} );

(没有按钮:https://jsfiddle.net/jkczwtbt/) 任何我不理解文档的指针?

https://datatables.net/reference/button/excel
https://datatables.net/reference/option/buttons.dom

【问题讨论】:

    标签: javascript jquery datatables


    【解决方案1】:

    你错过了两件事。

    1. 您不会要求 DataTables 将按钮实际插入 DOM。这就是他们没有出现的原因。

    您必须添加带有大写“B”的“dom”选项。有关更多信息和其他实现方法,请参阅Buttons Extansion 上的“显示按钮”部分。

    $('#myTable').DataTable( {
    dom: 'Bfrtip',
    buttons: [
        'copy', 'excel', 'pdf'
    ]
    

    });

    1. 您没有使用正确的预定义选项,这是您的代码中断的原因。您必须使用“excel”而不是“xls”选项。

    如果要将 Excel 按钮的默认按钮名称更改为 XLS,则必须以不同的方式启动按钮。见Examples on the Buttons reference page。一种方法是这样做:

    $('#myTable').DataTable( {
    buttons: [
        {
            extend: 'excel',
            text: 'XLS'
        }
    ]
    

    });

    您可以在JSFiddle 上找到工作结果。

    var table = $('#myTable').DataTable({
      dom: 'Bfrtip',
      buttons: [
        'copy',
        {
            extend: 'excel',
            text: 'XLS'
        }
      ]
     });
    

    【讨论】:

    • 非常感谢,但是它解决了我之前在使用“Bfrtip”时遇到的问题,其中表格大小的选择器被下载按钮取代。有没有办法同时显示?
    • @user3770935 只需使用 dom: 'Blfrtip' 其中 l 表示长度,即大小下拉列表。
    猜你喜欢
    • 2019-06-22
    • 2016-06-15
    • 2011-06-23
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 2020-08-05
    • 1970-01-01
    相关资源
    最近更新 更多