HTML输入数字类型指定第一个值

时间:2018-04-25 12:59:46

标签: html5 angular

我有一个HTML输入,表明一年如此:

<input type="number" name="year" placeholder="Year" [max]="presentYear" min="1950">

输入不是必需的,所以默认情况下我只想要占位符&#34;年&#34;在场。但是,只要用户单击输入字段的向上或向下箭头,我希望max值显示为默认值,在本例中为当前年份(2018)。但是,会显示最小数字。这对于这种情况毫无意义,因为用户必须滚动68年才能找到最常见的用例。

有没有办法指定默认的&#34;第一个值&#34;数字类型输入字段?如果它有助于回答这个问题,我就是在这个项目中使用Angular 5。

2 个答案:

答案 0 :(得分:0)

JS中的

dateObj: Date = new Date();
year: number = dateObj.getUTCFullYear();
yearModel: number = year;
HTML中的

将属性绑定到输入控件,如下面的代码所示,它将为您执行

<input type="number" name="year" 
  placeholder="Year" 
  [(ngModel)] = "yearModel"
  [max]="year"
  min="1950">

单独的模型会阻止值超过当前年度

答案 1 :(得分:0)

您最初可以将min设置为与max相同的值,并在输入值更改后,在ngModel和{{1}的帮助下将其更改为1950 }。第一次单击微调器按钮会将当前年份设置为初始值,修改后的ngModelChange值将允许在之后更改它。

min
<input type="number" name="year" placeholder="Year" 
    [(ngModel)]="year" (ngModelChange)="setMinYear($event)" 
    [max]="presentYear" [min]="minYear">

可以在this stackblitz中测试代码。