不显示分页

时间:2011-07-27 16:53:56

标签: jquery datatables

我有一个问题。我试图做的是,如果表格没有返回结果,那么就不要显示分页。我不能做什么。

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";
        }
    }

3 个答案:

答案 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();
                         }