2012-09-07 44 views
3

如何製作一個html表格,用戶可以使用列標題對客戶端進行排序?我可以將所有行的html數據加載到Javascript數組中,並使用dom將表添加到內容div,但這是否正確?如果列出主要方法,我可以從中找到我的方法,所以我不要求代碼。用html和Javascript進行客戶端排序

回答

6

您可能需要使用tablesorter,這是客戶端的表格排序jQuery插件..

0

如果你有一個數組,然後調用sort()可能是你最好的選擇:

function sortArray(a, b){ 
    //could also say return a-b instead of the blown out if...else construct 
    if(a.Age===b.Age) { return 0; } 
    else if (a.Age < b.Age) { return -1; } 
    else { return 1; } 
} 

var rows = [{Name: 'Amy', Age: 10}, {Name: 'Bob', Age: 20}]; 
var sortedArray = rows.sort(sortArray); 

至於其他的答案都表示,你也可以使用一個插件。 DataTables是我以前用過的很好的一個。

2

每天的tablesorter是這樣工作的:

  1. 得到一個數組的table.tbody.rows
  2. 排序使用custom compare function
  3. 該數組追加的行的表體以正確的順序

它通常是有點快如果預先計算的值到比較(而不是訪問DOM元素在每個比較中),數組將包含具有一個槽中值的對象和另一個槽中的錶行元素。