如何自定义DataTables的Show ## entriesSearch:条目超200显示All
问题解决方案
1. 修复“Show ## entries”区域为空的问题
把iDisplayLength设为200时下拉区域为空,是因为DataTables默认的条目数选项里没有200这个值,需要通过aLengthMenu配置手动添加可选条目数。
2. 实现条目数超200时显示“All”
通过language.lengthMenu自定义下拉菜单的显示文本,同时将-1作为条目数选项代表“全部”,数据总条数超过200时,用户就能选择“All”展示所有条目。
修改后的完整代码
function newVasDataTable() { var $newVasTable = $('#vas_table').dataTable({ "aoColumnDefs": [{"sSortDataType": "dom-checkbox", "aTargets": [0]}], "iDisplayLength": 200, // 默认显示200条 "aLengthMenu": [[100, 200, -1], [100, 200, 'All']], // 定义下拉选项与对应显示文本 "language": { "lengthMenu": "Show _MENU_ entries" // 保留默认格式,_MENU_会替换为下拉菜单内容 } }); return $newVasTable; }
关键配置说明
aLengthMenu: 第一个数组是实际生效的条目数值(-1表示全部),第二个数组是对应显示的文本,这里将-1映射为'All'。language.lengthMenu: 控制“Show ## entries”的显示格式,_MENU_是DataTables的内置占位符,自动替换为下拉菜单内容。
配置完成后,数据总条数超过200时,下拉菜单会出现“All”选项,选择后即可展示所有条目,同时解决了设置200时下拉为空的问题。
内容的提问来源于stack exchange,提问作者MARVEL
相关产品推荐
相关产品推荐

