dataTable - 如何正确设置页面启动?

时间:2014-07-17 19:08:25

标签: jquery datatable

我想获取当前页面并返回您所在页面的返回日期,我的更新是针对ajax。

我实际上可以逐页变量获取并告诉哪个页面以“oTable.fnPageChange(1);

开头

但是,当我在页面上使用“oTable.fnPageChange(1);”时,我说但在“too much recursion”控制台中没有显示分页和错误

示例:

<script type="text/javascript">
jQuery(document).ready(function(){
    var page = 0;
    jQuery('#htmlgrid').dataTable({
        "fnDrawCallback": function(oSettings) { 

                var oTable = jQuery('#htmlgrid').dataTable();
                var totalRows = oTable.fnGetData().length;


                oTable.fnPageChange(1);
                page  = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength);                                    
        }       
    });
});
</script>

我如何解决这个问题或者什么是正确的方法?

注意:我使用的是版本1.11.1 jQuery

1 个答案:

答案 0 :(得分:1)

确实发生了too much recursion,问题是由于每次更改页面时都会调用drawCallback,换句话说,每次页面更改都会进入函数,意味着新的页面更改,因此需要无限地重新绘制。

来自docs

drawCallback:
Function that is called every time DataTables performs a draw.

我们需要使用drawCallback回调,而不是使用initComplete,这只会调用该函数一次:

var page = 0;
$('#example').dataTable({
    "initComplete": function (oSettings) { //changed line

        var oTable = this;
        var totalRows = oTable.fnGetData().length;


        oTable.fnPageChange(1);
        page = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength);
    }
});

FIDDLE使用示例表http://jsfiddle.net/6U6ps/