fnLengthChange问​​题

时间:2011-07-23 15:11:12

标签: jquery datatables

出于某种原因,只有当我有viewAll点击功能时才会停止使用dataTables我不知道它是语法错误还是什么。唯一的问题是我没有收到语法错误。所以我不知道问题是什么。

$(document).ready(function() {

var oTable = $('#contentPagesPageList').dataTable( {
    "sDom": 'rti<"pagination"p>',
    "iDisplayLength": 10,
    "sPaginationType": "full_numbers"
} );

$('.viewAll').click(function() {
    oTable.fnLengthChange( -1 );   
)}; 

});

1 个答案:

答案 0 :(得分:1)

那是因为你传递了一个负值,我认为:使用该功能你可以设置要显示的记录数,而我没有找到任何可以传递负数的记录。如果你想显示你可以使用的所有内容:

  oTable.fnLengthChange($('#contentPagesPageList tr').length);

编辑 - 问题是fnLengthChange不是api的标准函数,所以你必须包含它!这是包含的代码:

$.fn.dataTableExt.oApi.fnLengthChange = function ( oSettings, iDisplay )
{
    oSettings._iDisplayLength = iDisplay;
    oSettings.oApi._fnCalculateEnd( oSettings );

    /* If we have space to show extra rows (backing up from the end point - then do so */
    if ( oSettings._iDisplayEnd == oSettings.aiDisplay.length )
    {
        oSettings._iDisplayStart = oSettings._iDisplayEnd - oSettings._iDisplayLength;
        if ( oSettings._iDisplayStart < 0 )
        {
            oSettings._iDisplayStart = 0;
        }
    }

    if ( oSettings._iDisplayLength == -1 )
    {
        oSettings._iDisplayStart = 0;
    }

    oSettings.oApi._fnDraw( oSettings );

    $('select', oSettings.oFeatures.l).val( iDisplay );
}

这是您按钮的代码:

$('.viewAll').click(function(e) {
    e.preventDefault();
    console.log($('#contentPagesPageList tr').length);
    oTable.fnLengthChange($('#contentPagesPageList tr').length);
});