javascript - 数据表按钮破坏了搜索功能

标签 javascript jquery datatables

我正在尝试将下载按钮添加到我的表格中,但是当我这样做时,我的列搜索功能会中断并且按钮不会显示。我还尝试使用 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

最佳答案

有两件事你错过了。

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

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

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

} );

  • 您没有使用正确的预定义选项,这就是您的代码损坏的原因。您必须使用“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'
        }
      ]
     });
    

    关于javascript - 数据表按钮破坏了搜索功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38736977/

    相关文章:

    javascript - 折叠 div 的 Accordion 菜单 CSS3、HTML5 问题

    javascript - 使用 jQuery 从通过 FileReader 上传的 html 文件中提取表格

    javascript - 与浏览器控制台相比,为什么相同的 jQuery 选择器在 React Component hooks 中具有不同的输出?

    jQuery/DataTables - 导出到 Excel

    jquery - 数据表汇总过滤后的数据

    javascript - 如何从jquery fancy box中获取 parent 图像的src和名称?

    javascript - 我不明白这个 javascript/jquery 代码是如何执行的

    javascript - 嵌套菜单折叠与 Jquery Slidetoggle 级联

    javascript - 通过使用 jQuery 重新排序元素来模拟 CSS Column 垂直内容流?

    jQuery 和 CodeIgniter AJAX 与 JSON 不起作用