Backbone.js 日期输入 - 在 <input /> 标签中设置日期选择器默认年份

Backbone.js date input - set date picker default year in the <input /> tag

我正在处理显示日期输入的 Backform,用户必须在其中输入生日。聚焦此输入时,会显示一个日期选择器。

我们的用户(和我)并没有变得更年轻,从当前日期滚动到我们的实际出生年份变得非常乏味。

这是表格的简化版本:

this.form = new Backform.Form({
  el:$('.Host-form'),
  model: new HostModel({
    birthdate: '',
  }, {
    birthdate: {
      type: "date",
      mandatory: true,
      readonly: false
    }
  }),
  fields: {
    "name": "birthdate",
    "label": "Birthdate *",
    "control": "input",
    "placeholder": "Birthdate *",
    "disabled": false,
    "required": true,
    "value": null,
    "options": [],
    "extraClasses": [],
    "type": "date"
  },
});

我已经设法通过添加 value 属性为输入设置默认日期,但这并不是我想要实现的。

是否可以通过在标签中添加属性来设置过去的默认年份?

由于日期选择器实际上是 html <input type="date" />,我设法解决了这个问题:

var m = moment().subtract(18, 'years');

$('[name="birthdate"]').attr('max', m.format('YYYY-MM-DD'));
$('[name="birthdate"]').attr('value', m.format('YYYY-MM-DD'));

第一行将阻止用户select指定日期之后的日期。 第二行将 select 最后一个 select 可用日期。