2014-07-17 57 views
0

我想獲取當前頁面,並返回當前頁面的日期,我的更新是針對ajax的。dataTable - 如何正確設置頁面啓動?

其實我可以通過網頁可變讓我的網頁,並通知啓動該網頁「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

它確實發生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/

+0

感謝您的幫助,它的工作原理,但只刷新頁面,我把測試一個nd警報此警報只適用於在ajax呼叫警報工作之後刷新頁面ai n不會更改我想要的頁面=( – Dexxtz

+0

您是否有用於更改頁面的按鈕?你需要更好地解釋什麼是需要的,因爲它是目前編寫我們無法知道要求 –

+0

我有2個按鈕更新和搜索天,當從一個帖子通過ajax單擊另一個頁面,返回該表中的json數據它是remotando 在這種情況下,我只是使用升級後升級返回相同的頁面 – Dexxtz