2016-02-10 66 views
8

我在我的網頁上有多個表格,每個表格都是DataTable,它工作正常。DataTable導出按鈕在表格外

我想啓用導出到每個數據表上的excel功能,但該按鈕應該在表DOM之外(並且每個表應該有它自己的導出按鈕)。

我可以用genrate表DOM裏面的HTML5按鈕:

$('#example').DataTable({ 
     dom: 'Bfrtip', 
     buttons: [ 
      'copyHtml5', 
      'excelHtml5', 
      'csvHtml5', 
      'pdfHtml5' 
     ] 
    }); 

但我想通過某種方式,我可以附加表DOM充當導出到Excel特定表外的按鈕。

回答

18

通過constructor初始化每個表格按鈕,通過該按鈕可以將按鈕元素放置在任何您想要的容器中。如果你想放置的按鈕在表外的<div id="buttons"></div>元素,這樣做

var buttons = new $.fn.dataTable.Buttons(table, { 
    buttons: [ 
     'copyHtml5', 
     'excelHtml5', 
     'csvHtml5', 
     'pdfHtml5' 
    ] 
}).container().appendTo($('#buttons')); 

演示 - >https://jsfiddle.net/qoqq3okg/

我不知道你的多個表的設置,但現在你只需要插入一些如上所述,沿着每個<table>元素添加元素,並將每個表的按鈕插入到該元素中。

+0

完美。非常感謝。 – void

+1

非常感謝你爲這個美好的解決方案和Jsfiddle –

+0

@davidkonrad請檢查這一個http://stackoverflow.com/questions/41348631/datatable-export-button-display-in-custom-position –

0

您可以添加您的類也,

buttons[0].classList.add('yourClassName');