【发布时间】:2019-12-15 05:47:43
【问题描述】:
我正在尝试创建一个包含选择控件列表的表单(只是为了简单起见)。
我不会向表单添加新的选择,我只想跟踪每个选择控件中的选定选项。 这是我用来生成选择控件的 json:
sports = [
{
sportId: '1',
desc: 'Football',
categories: [
{
categId: '1',
desc: 'U-18'
},
{
categId: '1',
desc: 'U-20'
},
{
categId: '2',
desc: 'U-23'
}
]
},
{
sportId: '2',
desc: 'Volleyball',
categories: [
{
categId: '3',
desc: 'Junior'
},
{
categId: '4',
desc: 'Youth'
}
]
},
{
sportId: '3',
desc: 'Tennis',
categories: [
{
categId: '5',
desc: 'Singles'
},
{
categId: '6',
desc: 'Doubles'
}
]
}
];
这是我的表单的html
<form [formGroup]="registrationForm"(submit)="save()">
<div class="form-group">
<label for="firstname">First Name</label>
<input
type="text"
class="form-control"
id="firstname"
formControlName="firstName"
placeholder="First Name"
/>
</div>
<div class="form-group">
<label for="lastname">Last Name</label>
<input
type="text"
class="form-control"
formControlName="lastName"
id="lastname"
placeholder="Last Name"
/>
</div>
<div class="form-group" *ngFor="let sport of sports; let i = index">
<label attr.for="sport_{{i}}">{{sport.desc}}</label>
<select class="form-control" id="sport_{{i}}">
<option value="0">Select one</option>
<option *ngFor="let cat of sport.categories" [value]="cat.categId">{{cat.desc}}</option>
</select>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
为 firstName 和 lastName 构建表单很简单:
constructor(private fb: FormBuilder) {}
ngOnInit(): void {
this.registrationForm = this.fb.group({
firstName: '',
lastName: ''
});
}
但我不确定如何跟踪每个不同选择控件上的选定选项。
如果您能在这里帮助我,我将不胜感激。
编辑
这是一个演示
【问题讨论】:
标签: angular angular-reactive-forms angular-forms formarray