我试图将下载按钮添加到表中,但是这样做时,列搜索功能中断,并且按钮不显示。我还尝试使用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
最佳答案
您错过了两件事。
您不要求DataTables将按钮实际插入DOM中。这就是为什么他们不露面。
您必须在“ dom”选项中添加大写字母“ B”。有关更多信息和其他实现方法,请参见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'
}
]
});