使用Eonasdan bootstrap-datetimepicker,需要将年份预设为65年前

Using Eonasdan bootstrap-datetimepicker, need to preset year to 65 years ago

我有一个医疗专业人员的申请,他们通常在 60 到 100 岁之间为 Medicare 患者提供服务,我们使用 Eonasdan bootstrap-datetimepicker 让他们 select 生日像这样:

JavaScript:

$('.birthDateTimePicker').datetimepicker({
    format: 'M/D/YYYY',
    maxDate: (new Date()),// used to disallow future dates
    showClose: true,
    viewMode: 'years'
});

HTML:

<div class="input-group birthDateTimePicker">
    <input id="birthDt" name="birthDt" type="text" placeholder="Birth Date"
            class="form-control col-sm-3 col-md-3 col-lg-2" required />
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>

这会产生一个最初没有日期 selected 的显示,但会在输入框中显示:Birth date。问题是,它默认为 2015 年,因此 select 由于大多数患者的高龄,计算这一年的速度非常慢。我尝试像这样设置 defaultDate:

$('.birthDateTimePicker').datetimepicker({
    defaultDate: moment().subtract(68, 'y'),
    format: 'M/D/YYYY',
    maxDate: (new Date()),// used to disallow future dates
    showClose: true,
    viewMode: 'years'
});

但是现在,它不再在输入框中显示 Birth date,而是在输入框中显示 12/10/1947 之类的实际日期。我想预先设置开始年份,但不预先 select 整个日期。生日在他们接受的医疗中非常重要,并且与他们的名字一起用于识别,我最不希望有人忘记输入生日,因为它已经预先 select 了具体日期,他们弄错了生日。那么,我如何才能让医疗专业人员轻松地 select 年份,而不是随意输入错误的日期?

如果您使用的是最新版本,您可以这样设置您的选项:

viewDate: moment().subtract(68, 'y'),
format: 'M/D/YYYY',
maxDate: moment(),
showClose: true,
viewMode: 'years'

viewDate 是一个选项,将导致选择器在指定日期打开。