将计算功能添加到出生日期选择标记

时间:2015-06-24 08:35:22

标签: javascript jquery drop-down-menu datepicker dob

如果使用jQuery datepicker函数,有一个流行的函数可以根据出生日期计算人的年龄。功能如下:

function calculateAge(birthday) {
    var mybirthday = new Date(birthday.split("-").reverse().join("-")).getTime();
    var ageDifMs = Date.now() - mybirthday; //.getTime();
    var ageDate = new Date(ageDifMs); // miliseconds from epoch
    return Math.abs(ageDate.getUTCFullYear() - 1970);
}


function dateDiffInYears(dateold, datenew) {
    var ynew = datenew.getFullYear();
    var mnew = datenew.getMonth();
    var dnew = datenew.getDate();
    var yold = dateold.getFullYear();
    var mold = dateold.getMonth();
    var dold = dateold.getDate();
    var diff = ynew - yold;
    if (mold > mnew) diff--;
    else {
        if (mold == mnew) {
            if (dold > dnew) diff--;
        }
    }
    return diff;
}


$(".datepic").datepicker({
    dateFormat: 'dd-mm-yy',
    changeMonth: true,
    changeYear: true,
    yearRange: '-90:+0',
    onClose: function (selectedDate) {
        if (calculateAge(selectedDate) < 12) {
            $("#parent_section").show();
        } else {
            $("#parent_section").hide();
        }
    }
});

然而,当用户在文本框中输入光标并且他们必须从日期选择器中选择日期时,这非常有效。

我遇到的问题是我有三个单独的选择标签。一个用于约会,另一个用于本月,另一个用于一年。如何使用这些选择标签计算人的年龄。我花了很长时间在这上面,无法弄明白。任何帮助将不胜感激。

0 个答案:

没有答案