So a user has entered their date of birth in a text box and you want to calculate their age, and take in to account leap years. Create a JQuery function (this code):
function calculateAge(dob)
{var now = new Date();
function isLeap(year)
{
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}var days = Math.floor((now.getTime() – dob.getTime())/1000/60/60/24);
var age = 0;for (var y = dob.getFullYear(); y <= now.getFullYear(); y++)
{
var daysInYear = isLeap(y) ? 366 : 365;if (days >= daysInYear)
{
days -= daysInYear;
age++;}
}
return age;
}
Then, we need to run this when the text box (txtDateOfBirth) is changed (on blur), and in this example are going to put the age into another text box (txtAgeTextBox)
$('#txtDateOfBirth').blur(function()
$(“#txtAgeTextBox”).val(calculateAge($.datepicker.parseDate(‘dd/mm/yy’, $(‘#txtDateOfBirth’).val()))
{
});