【发布时间】:2021-05-30 15:29:38
【问题描述】:
所以我有一个输入名字age,另一个输入名字ageDif,ageDif是只读的并且依赖于年龄,所以50-age = ageDif。
html文件
<div>
<label>Age</label>
<input required name="age" id="age" (keypress)="justnumeric($event); calculateAgeDif()" [(ngModel)]="age"/>
</div>
<label>Age Difference</label>
<input name="age difference" [(ngModel)]="ageDif"/>
</div>
ts。文件
justnumeric(event): boolean {
let pattern = /^([0-9])$/;
let result = pattern.test(event.key);
return result;
}
calculateAgeDif(){
this.ageDif = 50- this.age;
}
问题是它只输入第一个数字。所以如果我输入 22 作为年龄,ageDif 将是 48 和 28。
【问题讨论】:
-
首先,尝试使用这个正则表达式而不是
/^([0-9])[2]/... -
你使用了按键事件,所以很明显年龄首先需要 2,然后是 22,给出 ageDif 48 和 28
-
如果您希望它只更改一次,请使用更改事件而不是按键
标签: javascript angular typescript angular8 keypress