2017-02-09 75 views
0

我在jQuery數據表中創建了幾個選項,如下所示。動態更新jQuery數據表選項

var _myTable = $('#myTable').DataTable({ 
      "bProcessing": true, 
      "aaData": arrayList, 
      "aoColumns":columnArr, 
      "aaSorting": [[0,'desc']] 
     }); 

創建,我需要fnRowCallback方法添加到使用變量_myTable該表後。 有什麼辦法可以將我的fnRowCallback添加到現有的表中?我不想用fnRowCallback選項重新創建數據表。我想重新使用_myTable

回答

1

下面將針對數據表中的版本1.9工作。它在1.10中有很大變化,可能不適用於這個版本。謝謝。

試試這個:

var oSettings = _myTable.fnSettings(); 
oSettings.aoRowCallback.push({ 
    "fn": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
     $(nRow).on('dblclick', function() { alert('sdagdsa'); }); 
    }, 
}); 
_myTable.fnDraw(); 

爲1.10,嘗試這樣的事情:

var oTable = $('#table').dataTable(); 

var oldoptions = oTable.fnSettings(); 

var newoptions = $.extend(oldoptions, { 
fnRowCallback: function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
    console.warn("working"); 
} 
}) 

oTable.fnDestroy(); 

$('#table').dataTable(newoptions); 
+0

會去檢查我的代碼。 – Prasath

+0

獲取此錯誤 - 未捕獲TypeError:_myTable.fnSettings不是函數 – Prasath

+0

fnSettings是我正在使用的傳統API方法。正如您使用的是現代的$().DataTable()初始化。使用設置()。我正在更新答案。 – mhshimul