我正在使用jquery datepicker插件输入出生日期。该插件有效,但我想确认只有18岁生日的人才能被允许。我曾尝试限制年份,但我有一个错误分配大小超载及其所指的年份。
这是我的代码:
$(function() {
var dateNow = ($.now() - 18);
$( "#birthdate" ).datepicker({
yearRange: "1920:" + dateNow,
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm-dd'
});
});
最佳答案
如果您必须在用户输入日期后进行检查,请使用以下代码段。
Demo Fiddle.
$(function() {
$('#birthdate').datepicker({
changeMonth: true, maxDate: '0',changeYear: true, yearRange: '1900:2014', dateFormat: 'dd-mm-yy',
onClose: function(){
var today = new Date(),
birthday = $('#birthdate').datepicker("getDate"),
age = (
(today.getMonth() > birthday.getMonth())
||
(today.getMonth() == birthday.getMonth() && today.getDate() >= birthday.getDate())
) ? today.getFullYear() - birthday.getFullYear() : today.getFullYear() - birthday.getFullYear()-1;
if(age>=18){
alert('18+');
}else{
alert('not 18');
}
}
});
});
如果希望将用户限制在18岁以下,请更改
yearRange
的.datepicker()
属性Demo For this。