我有两个字段DOB,Age 对于DOB:日期选择器 对于年龄:文本框
每当在DOB中选择日期时,它会自动计算年龄。
我的剧本:
$('#DOB').datepicker({
language: 'es',
todayBtn: 'linked',
format: "dd/mm/yyyy",
onSelect: function (selectedDate,ev) {
alert(selectedDate);
var urls = "/Controllername/GetAge?date=" + selectedDate;
$.ajax({ url: urls,
success: function (data) {
alert(data);
}
});
}
}).on('changeDate', function (ev) {
$(this).blur();
$(this).datepicker('hide');
}); ;
alert(selectedDate)未触发。 ajax调用没有解雇?
答案 0 :(得分:2)
试试这个
$('#DOB').datepicker({
language: 'es',
todayBtn: 'linked',
format: "dd/mm/yyyy"
}).on('changeDate', function (ev) {
$(this).blur();
$(this).datepicker('hide');
var dob = new Date(ev.date);
var d = new Date();
var age = d.getFullYear() - dob.getFullYear();
});
答案 1 :(得分:1)
如果您希望仅在年内找到js的年龄
function GetDateDiff(date1, date2) {
return Math.floor(Math.abs((date1.getTime() - date2.getTime()) / (1000 * 60 * 60 * 24)) / 365);
}
var d = new Date();
$('#DOB').datepicker({
language: 'es',
todayBtn: 'linked',
format: "dd/mm/yyyy",
onSelect: function (selectedDate, ev) {
var x = selectedDate.split('/');
var dob = new Date(x[0] + ',' + x[1] + ',' + x[2]);
alert(GetDateDiff(dob, d));
}
});