2011-02-18 69 views
0

我有下列數據的表:如何在jQuery tableSorter中進行復雜的排序?

Cell1  Cell2 
Computers  10 
    Dell  5 
    IBM  3 
    Compaq  2 
HDDs   12 
    Seagate 7 
    Samsung 3 
    Test  2 
Monitors  18 
    Seagate 7 
    Samsung 9 
    Dell  1 

現在如果我排序單元2,它破壞了格式,並把18,12,10等是否有辦法中保存行的「父'從排序? 例如,如果我是通過排序小區2

Cell1  Cell2 
Monitors  18 
    Seagate 7 
    Samsung 9 
    Dell  1 
HDDs   12 
    Seagate 7 
    Samsung 3 
    Test  2 
Computers  10 
    Dell  5 
    IBM  3 
    Compaq  2 

所以孩子行並不排序,但父母的排序保留孩子的順序。

+0

鏈接到您所問的插件。不僅有一個這樣的名字。更糟糕的是,其中一個已經多次更改域名,因此您可能會使用舊版本,甚至不知道它。 – 2011-02-18 17:03:29

+0

使用http://tablesorter.com/docs/編輯:如果你知道一個更好的表分類器,請讓我知道 – 2011-02-18 17:10:41

回答

0

這並不難一些元素進行排序,給出parent和一些elems

// custom compare function for sorting by numbers 
function sortByNumber(a, b) { 
    if (+ a.innerHTML < b.innerHTML) return -1; 
    else if(+ a.innerHTML > b.innerHTML) return 1; 
    else return 0; 
} 

var parent = ...; 

// convert to array, to make sorting possible 
var items = jQuery.makeArray(elems); 
var len = items.length; 

// do the item sorting by their value 
items = items.sort(sortByNumber); 

// append them back to the parent in order 
for (var i = 0; i < len; i++) { 
    parent.appendChild(items[i]); 
} 

現在,您可以根據做到在子類別循環在你的標記。