添加DataTables Excel导出按钮后,分页长度下拉框消失如何解决?
问题原因
你重复定义了dom选项,DataTables会以最后一个dom配置为准。虽然你添加了dom: 'Bfrtip'来启用导出按钮,但后面的自定义dom配置覆盖了它,且你没有将按钮标识B整合到原有布局的dom中,最终导致长度选择下拉框因布局冲突或配置覆盖而消失。
解决方法
删除重复的dom: 'Bfrtip',将按钮标识B添加到你原来的自定义dom布局里,保留原有的页面结构。
修改后的完整配置代码:
$('#tabelku').dataTable({ "buttons": [{ extend: 'excel', text: 'Excel' }], dom: '<"row"<"col-lg-6"B><"col-lg-6"l><"col-lg-6"f>><"table-responsive"t>p', "aLengthMenu": [ [10, 20, 30, 40, -1], [10, 20, 30, 40, "All"] // change per page values here ], "bProcessing": true, "bServerSide": true, "sServerMethod": "POST", "bRetrieve": true, "sAjaxSource": "<?= site_url() ?>monev/do_Tabel_Universitas", // set the initial value "iDisplayLength": 10, "oLanguage": { "sProcessing": '<i class="fa fa-coffee"></i> Please wait...', "sLengthMenu": "_MENU_ records", "oPaginate": { "sPrevious": "Prev", "sNext": "Next" } }, "aoColumnDefs": [{ 'bSortable': false, 'aTargets': [0, 8] }] });
关键说明
dom配置中的字符对应DataTables的控件:B代表导出按钮,l代表长度选择下拉框,f代表搜索框,t代表表格,p代表分页器- 示例中将
B放在顶部行的第一个col-lg-6容器内,你可以根据需求调整它的位置 - 确保只保留一个
dom配置,避免重复定义导致配置被覆盖
内容的提问来源于stack exchange,提问作者user1004
相关产品推荐
相关产品推荐

