HTML:
<select [(ngModel)]='i.PaycodeId'>
<option *ngFor="let j of payCode" [value]='j.ID'>{{j.value}}</option>
</select>
payCode:
[{"ID":0,"value":"Cycle"},{"ID":1,"value":"Truck"},{"ID":2,"value":"Car"}]
在i.PaycodeId
中,通过ngModel
,将数字设置为字符串值而不是像"1"/"2"
这样的数字,而传递给select的值是具有ID值作为数字的对象。
我希望此值仅为数字。
答案 0 :(得分:8)
使用[ngValue]。而不是使用[value]。
<select [(ngModel)]='i.PaycodeId'>
<option *ngFor="let j of payCode" [ngValue]='j.ID'>{{j.value}}</option>
</select>
答案 1 :(得分:5)
你可以像这样分开绑定:
<select [ngModel]="i.PaycodeId" (ngModelChange)="onChangeSelection($event)">
<option *ngFor="let j of payCode" [value]='j.ID'>{{j.value}}</option>
</select>
在你的组件中:
onChangeSelection(selected) {
this.i.PaycodeId = parseInt(selected);
}
使用Plunker作为示例用法