首页 > 解决方案 > 在引导程序 datepicker 中禁用 18 岁以下的年份

问题描述

处理使用引导日期选择器向用户显示日期的表单。我有一个出生日期字段,试图禁用从当前日期起 18 岁以下的任何用户的年份。例如,因为我们在 2019 年,日期选择器应该只显示低于 2001 年的年份,例如 2001 、 2000 、 1999 、 1998 、 1997 等

这工作正常(年),但我在禁用月份和特定日期时遇到问题,例如,因为我们在 01/02/2019 ,日期选择器应该禁用 2001 年 2 月 1 日之后的任何日期

出生日期

//dob
<div class="form-line registar love">
      <input type="text" placeholder="Date of Birth *" class="form-input" name="dob" id="dob" value="#" title="You should be over 18 years old" required>

      <label class="error error-tip" for="dob" id="dobErr" style="display: none; color:red; font-size: 11px;">You should be over 18 years old</label>
 </div>
//end dob

Javascript 逻辑

var maxBirthdayDate = new Date();
maxBirthdayDate.setFullYear( maxBirthdayDate.getFullYear() - 18 );
maxBirthdayDate.setMonth(11,31);
$( function() {
  $( "#dob" ).datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: 'yy-mm-dd',
    maxDate: maxBirthdayDate,
    yearRange: '1900:'+maxBirthdayDate.getFullYear(),
  });
});

标签: javascriptdatedatepicker

解决方案


对于 bootstrap-datepicker (^1.9.0) 我已经解决了。

$('#dob').datepicker({ endDate: '-18Y' });

推荐阅读