选择日期时如何更改特定值?

时间:2014-08-13 06:20:39

标签: javascript jquery tapestry

要求是我有两个日期字段:

  • 一个是生效日期和出生日期。当我在页面上选择生效日期时。
    年龄字段应进行以下计算 那是年龄将是生效日期 - 出生日期。结果应设置为年龄字段。

如何在javascript或JQuery中完成?

我使用挂毯前端。因此,在HTML页面中,我想对age字段进行此值设置。

1 个答案:

答案 0 :(得分:0)

您需要将日期转换为毫秒并减去它们,然后计算年龄。

HTML

<input type="date" id="effective" />
<input type="date" id="born" />

的jQuery

function getTime(date){
    var dateArr = date.split('-');
    return new Date(dateArr[0], dateArr[1], dateArr[2]).getTime();
}
function calcDate(date1,date2) {
    var eff_date = getTime(date1);
    var born_date = getTime(date2);

    var diff = Math.floor(eff_date - born_date);

    var day = 1000* 60 * 60 * 24;

    var days = Math.floor(diff/day);
    var months = Math.floor(days/31);
    var years = Math.floor(months/12);
    return years
}

$("input[type=date]").change(function(){
    if($("#effective").val() != "" && $("#born").val() != ""){
        var age = calcDate($("#effective").val(),$("#born").val())
        alert(age);
    }
});

查看此Fiddle ..