2013-07-25 62 views
0

我有一個jsp,它有一個包含用戶信息的表格,並且有一列表示用戶的生日,格式爲yyyy-mm-dd。我想用實際的用戶年齡替代那些出生日期。 所以,我對於它簡單的JS功能getAge:Jquery:從頁面獲取生日值並用年齡值替換

function getAge(dateString) { 
     var today = new Date(); 
    var birthDate = new Date(dateString); 
    var age = today.getFullYear() - birthDate.getFullYear(); 
    var m = today.getMonth() - birthDate.getMonth(); 
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) { 
     age--; 
    } 
    return age; 
} 

我試過頁以這種方式初始化後運行它:

$().ready(function({ 
    $(".age").html(getAge($(this).html())); 
})); 

其中.age是一類「年齡」欄。所以這是我預期它的工作方式:

$(".age") - 發現細胞帶class =「年齡」

$(".age").html(getAge($(this).html())); - 與來自getAge()函數返回值發現細胞substitues HTML哪裏論據getAge是當前值在那個小區裏。 但它說明不了什麼=(

如果我使用smthg這樣的測試:

$(".age").html(getAge("1960-08-15")); - 它正常工作,並從1960年8月15日計算年齡的所有行代用品生日=)

也許我不明白在我的上下文中返回$(this)?我確定它應該返回我剛剛用我的選擇器(單元格)調用的當前元素

您能給我一個提示嗎?

THX很多

+0

是直接在單元格中的日期字符串,或者是它被某物包裹?你可以用'$(「。age」)。html(getAge($(this).text()))來試試'' – Spokey

+0

@Spokey html row is ​​admin 1980- 08-08 –

回答

1

你應該通過每個年齡循環,並使用jquery設置他們的HTML。每個

$(".age").each(function(){....}); 

FIDDLE:http://jsfiddle.net/Yyene/

+0

完美,thx很多! –