2011-09-09 171 views
3

我正在使用JQuery SAjaxsource如何在SAjaxsource完成後調用JavaScript函數。我想更新一個div後的數據表load.Please完成幫我...如何在SAJAXSource完成JQuery數據表後調用javascript函數

編輯:

$(document).ready(function() { 
       var oTable = $('#example').dataTable({ 

        "bServerSide": true, 
            "sSearch":false, 
            "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]], 
            "bPaginate": true, 
            "bJQueryUI": true, 
            "sPaginationType": "full_numbers", 
            "sAjaxSource": "server_processingCDB1.php" 
       }); 

回答

4

http://datatables.net/ref#fnDrawCallback也適用於這一點,並保存你需要到覆蓋fnServerData。

參數: fnDrawCallback

類型:功能

輸入: {對象}:數據表設置對象

該功能被稱爲對每一個 '畫' 事件,並允許您動態修改您想要的關於創建的DOM的任何方面。

$(document).ready(function() { 
    $('#example').dataTable({ 
    "fnDrawCallback": function(oSettings) { 
     alert('DataTables has redrawn the table'); 
    } 
    }); 
}); 
+0

這是一個不完美的解決方案;當表格繪製時沒有數據時,它會在頁面加載時被調用,然後在數據加載時再次調用,這可能不太理想,具體取決於您的願望。 – Erik

+0

它會在渲染數據之前調用。 –

6

看一看在的幫助下,回調部分fnServerData選項 - >http://www.datatables.net/usage/callbacks

爲您提供所需的一切......這裏的一些示例代碼:

$(document).ready(function() { 
    $('#example').dataTable({ 
     "bProcessing": true, 
     "bServerSide": true, 
     "sAjaxSource": "../examples_support/server_processing.php", 
     "fnServerData": function (sSource, aoData, fnCallback) { 
      $.getJSON(sSource, aoData, function (json) { 
       /* Do whatever additional processing you want on the callback, then tell DataTables */ 
       fnCallback(json) 
      }); 
     } 
    }); 
}); 
+0

對不起,我編輯我的問題。我該如何調用javascript函數或如何更新div – Arasu

+0

謝謝! ManseUK。那爲我做了詭計! – Packer

+0

即使我沒有爲 「sAjaxSource」提供任何文件路徑,我也想讓它工作。你能告訴我我該怎麼做? – Packer

1

對於數據表版本1.10.12

$('#table_id').dataTable({ 
    ajax: function (data, callback, settings) { 
    $.ajax({ 
     url: '/your/url', 
     type: 'POST', 
     data: data, 
     success:function(data){ 
     callback(data); 
     } 
    }); 
    } 
}); 
相關問題