2011-03-18 88 views
0

我有一些XML,我正在讀jQuery和在屏幕上打印。jquery XML數據排序按日期

這是XML

<users> 
    <user> 
     <id>1</id> 
     <fname>Umair</fname> 
     <timestamp>2011-03-18T03:41:00-07:00</timestamp> 
    </user> 
    <user> 
     <id>2</id> 
     <fname>Neil</fname> 
     <timestamp>2011-03-18T03:41:00-07:00</timestamp> 
    </user> 
</users> 

這是JS

$(xml).find("user").each(function(index, user) { 
    var timestamp = $(user).children("date_time:first").text(); 
    //the dt has date and time in such format 2011-03-18T03:41:00-07:00 
    //more code which generates below html and add to the userTable 
    //<tr> 
    // <td> 
    //  <div>First Name</div> 
    //  <div>2011-03-18T03:41:00-07:00</div> 
    // </td> 
    //</tr> 

    //$("#userTable").append(...all rows here...); 
}); 

這是HTML

<table id="userTable"> 

<table> 

這是工作完美,雖然我想這樣做的唯一事情就是對該列表進行排序的用戶通過HTML表格顯示時。有沒有我可以使用或任何方式的jQuery插件?

+0

Umair,如果你給了我們幾行相關的HTML,這真的會有所幫助,所以我們可以看到你有什麼你正在嘗試使用它。問候 – Neil 2011-03-18 22:48:27

+0

我修改了它 – Neutralizer 2011-03-19 05:35:54

+0

Umair,請參閱下面的答案。將日期字符串轉換爲Date對象,使用「valueOf」獲取自1971年以來的毫秒數,然後使用此數值進行排序。問候 – Neil 2011-03-19 20:19:08

回答

0

有一個名爲$ .timeago的jQuery插件,它實現了魔術。

0

jQuery tablesorter將做的伎倆。

+0

其實我有表有許多行,但每個具有單元格,其中divs顯示爲單元格。所以時間戳是在每個單元格的第4格。它不會在這裏工作。 – Neutralizer 2011-03-18 19:21:55

0

使用Date對象按日期排序相當簡單。見我放在一起使用Date對象,並在一個整潔的使用全局RegExp對象的反向引用的一個類似的例子:

http://jsfiddle.net/elusien/eZ3RQ/

您應該能夠將它修改爲你的目的。