我有一个问题。我试图做的是,如果表格没有返回结果,那么就不要显示分页。我不能做什么。
var oTable = $('#templatesPageList').dataTable( {
"sDom": 'rti<"pagination"p>',
"iDisplayLength": 10,
"sPaginationType": "full_numbers",
"fnDrawCallback":function(){
if(oTable).find("tbody tr").length(0){
$(oTable 'div.dataTables_paginate')[0].style.display = "none";
} else {
$(oTable 'div.dataTables_paginate')[0].style.display = "block";
}
}
答案 0 :(得分:3)
这让我觉得有点奇怪:if(oTable).find("tbody tr").length(0){
肯定会导致JS出错。你的意思是if(oTable.find("tbody tr").length == 0){
?
另外:$(oTable 'div.dataTables_paginate')
无效。如果你只传递一个参数,你需要连接,或者更好的是,使用原始选择器:$('#templatesPageList div.dataTables_paginate')
答案 1 :(得分:0)
你应该这样做:
"fnDrawCallback":function(){
if((oTable).find("tr").length > 0)){
$(oTable).find('div.dataTables_paginate').show();
} else {
$(oTable).find('div.dataTables_paginate').hide();
}
答案 2 :(得分:0)
Nicola的代码对我不起作用,因为表总是包含行(至少是标题)。诀窍是什么:
"fnDrawCallback": function (o) {
if (o.aiDisplay.length > 0) {
$("#templatesPageList_paginate").show();
} else {
$("#templatesPageList_paginate").hide();
}