2013-04-30 90 views
0

我們有一個頁面上有多個表。所有的表格都是相同的(當然數據除外)。 當我單擊一個表的列標題時,是否可以對所有表進行排序? 行爲應該是,如果我點擊列標題'名稱'(例如),所有的表格將排序在同一列。jQuery Datatables排序多個表

我試着做到以下幾點:

$(document).on("click", ".myTable thead th", function() { 
var index = $(this).closest("thead").children("tr").find("th").index($(this)); 

var allTables = $.fn.dataTable.fnTables(); 

for (var i = 0; i < allTables.length; i++) { 
    $(allTables[i]).dataTable().fnSort([index, "asc"]); 
} 
}) 

但我這樣做,我得到以下異常時:

Uncaught TypeError: Cannot read property 'sSortDataType' of undefined

+0

看起來它應該工作。你能鏈接到一個測試用例嗎? – 2013-04-30 10:00:00

+1

已解決:fnSort()的參數必須是2維數組,因爲它需要一個數組,其中包含要排序的所有列的排序,包括列的排序選項。像這樣:$(allTables [i])。dataTable()。fnSort([[index,「asc」]]); – wvp 2013-04-30 13:19:21

回答

2

爲fnSort()的參數必須是一個2二維數組,因爲它需要一個數組,其中包含要排序的所有列的排序,包括列的排序選項。像這樣:$(allTables [i])。dataTable()。fnSort([[index,「asc」]]);