2014-02-27 109 views
0

因此,我發現了InstantClick,測試了它,並在後臺的幾頁上工作,但當它需要執行任何與數據表相關的操作時,它正在崩潰。 jQuery Datatables是確切的。我想知道是否有人對如何解決這個問題有任何想法,如果沒有辦法,我怎樣才能避免使用PJAX加載這些頁面?我真的希望這個系統具有普遍性,但我有一種感覺,我在黑暗中拍攝了一個鏡頭,因爲我無法重新創建Datatable,也無法同時將其與頁面一起銷燬。事實上,任何與PHP相關的東西似乎都不太好,是否有解決這些問題的辦法,或者我必須把它吮吸而不使用它?InstantClick.io&Datatables jQuery?

感謝您的幫助,抱歉我沒有任何代碼可以顯示,因爲我只是在問一個與庫本身有關的問題。

更新!

仍然需要幫助,但我越來越近了,它正在重繪表格,但並未每頁都更改數據。這是我在做什麼:

InstantClick.init(); 
$(document).ready(function(){ 
    // table.fnDestroy(); 
    table.fnDraw(); 
    table.fnReloadAjax(ajaxSession2); 
}); 

表變量是在兩個頁面上共享的表變量。如果有人有避免此問題的工作,請告訴我。

回答

0

無論何時您想使用Javascript和dataTables,您都需要將與表格數據交互的函數放在fnDrawCallback()(請參閱callbacks)。這將確保Javascript在每個dataTable「draw」之後運行。儘管如此,你的php將會在dataTable被繪製之前運行。如果您在頁面加載後嘗試操作數據,我建議使用Javascript。

例子:

 var oTable = $('#myTable').dataTable({ 
      "aoColumnDefs": [ 
       { 
        "bSortable": false, 
        "aTargets": [ "no-sort" ] 
       } 
      ], 
      "fnDrawCallback": function(oSettings) { 
       $('.some-button').click(function() { 
        // do something 
       }); 
      } 
     }); 
+0

這就是InstantClick.io正在處理的問題是,它不會重繪表時它PJAX'd到頁面中。所以問題是我怎麼才能重繪表格或者做任何事情,因爲看起來我所有的JS都壞了。 –

+0

'fnDraw()'會重繪到表 – Tomanow

+0

我會給它一個鏡頭,它只是表現奇怪,我真的想使用這個功能,但我覺得我所做的動態Ajax和PHP調用會被搞亂不過,謝謝你的想法! –