2012-10-23 53 views
-1

我有一個動態的對象集合,我將它綁定到頁面上的jQuery模板。我在客戶端的這個對象集合是從我的服務器返回的List<T>,其中T可以是任何類的任何對象。例如:如何使用jQuery對對象的數據集合進行排序

Class Employee 
{ 
string Name; 
int Id; 
int age; 
} 

Class Companies 
{ 
    int CompId; 
    string CompanyName; 
    string CompanyLocation; 
} 

現在基於用戶請求我會送List<Employee>List<Companies>到客戶端。現在我只是想知道我們是否可以使用jquery在客戶端對這個列表進行排序。任何幫助將非常感激。

+1

那是什麼語言?此外,你在JavaScript中排序,jQuery是DOM api的一個包裝。 –

+0

檢查此類http://stackoverflow.com/questions/5503900/how-to-sort-an-array-of-objects-with-jquery-or-javascript –

+0

該類是在C#中。我將這些類的對象集合返回給我的客戶端。我會很高興讓他們使用jQuery或javaScript進行排序。例如,讓我說當我收到員工名單時,我想按他們的年齡/姓名/編號排序。 –

回答

0

這可能不是你想要什麼,但它應該給你一個足夠好的主意繼續:

var list = [{ 
    prop1: 'a', 
    prop2: 5 
}, { 
    prop1: 'b', 
    prop2: 4 
}, { 
    prop1: 'c', 
    prop2: 3 
}, { 
    prop1: 'd', 
    prop2: 2 
}, { 
    prop1: 'e', 
    prop2: 1 
}]; 

function sort(propName, direction) { 
    var dirOffset = direction === 'desc' ? -1 : 1; 

    list.sort(function(a, b){ 
     a = a[propName]; 
     b = b[propName]; 

     if (a === b) { 
      return 0; 
     } 

     var out = a < b ? -1 : 1; 
     return out * dirOffset; 
    }); 
} 

function log(propName) { 
    list.forEach(function(item){ 
     console.log(item[propName]); 
    }); 
} 

function sortAndLog(propName, direction) { 
    console.log('Sorted by', propName, direction); 
    sort(propName, direction); 
    log(propName); 
    console.log('------------------------------------'); 
} 

sortAndLog('prop1', 'desc'); 
sortAndLog('prop1', 'asc'); 
sortAndLog('prop2', 'asc'); 
sortAndLog('prop2', 'desc'); 
+0

感謝您的回答,它真的幫助 –

+0

但是* jQuerys *在哪裏? –

+0

也許如果我調用函數$ sort? –

0

jQuery的是操作DOM,不是最好的,當涉及到一個庫字符串。我會說你檢查underscore.js

下劃線的文件是偉大而簡單的。你會發現如何輕鬆達到你想要的。

相關問題