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

时间:2019-10-22 09:41:45

标签: backbone.js

我正在处理一个显示日期输入的Backform,用户必须在其中输入生日。重点关注此输入时,将显示一个日期选择器。

我们的用户(和我)并没有年轻,要从当前日期滚动到我们实际的出生年份真的很繁琐。

这是表格的简化版本:

   id_person    name     answer answer_code     party   question
1          1   David        Yes         100     Green      1
2          2 Manuela         No           0     Green      1
3          3  Pascal Rather yes          75       Red      1
4          4 Vanessa  Rather no          25       Red      1
5          5     Max  Rather no          25     Blue       1
6          6  Carine Rather yes          75    Orange      1
7          7 Michael        yes         100    Yellow      1
8          8  Corina        yes         100 Darkgreen      1
9          9   Dylan        yes         100 Darkgreen      1
10        10   Agnes         no           0     Blue       1

我已经设法通过添加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" }, }); 属性为输入设置默认日期,但这并不是我想要实现的。

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

1 个答案:

答案 0 :(得分:0)

由于日期选择器实际上是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'));

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