【发布时间】:2017-06-22 08:17:53
【问题描述】:
我怎样才能让选定的项目提交给服务?像 form.value['name'] 这样的做法适用于字段名称,但不适用于字段国家/地区。
我尝试了一些我在 selectedCountry 中找到的解决方案,但我想我不明白该怎么做。
注意事项:
- 仅(在我看来)相关代码如下所示
- countries 是一个带有键“id”、“code”和“name”的 json,并且正在从相应的服务中正确检索
signup.component.html
<form (ngSubmit)="onSubmit(f)" #f="ngForm">
<div class="input-field">
<input type="text" id="name" name="name" class="validate" ngModel>
<label for="name" data-error="nome inválido">Nome</label>
</div>
<div class="input-field">
<select id="country" name="country" [(ngModel)]="selectedCountry">
<option [ngValue]="" selected>Escolha um país</option>
<option *ngFor="let country of countries" [ngValue]="country" > {{country.code}} - {{country.name}} </option>
</select>
<label for="country">País onde reside</label>
</div>
<button class="btn btn-primary" type="submit">Sign Up</button>
</form>
signup.component.ts
export class SignupComponent implements OnInit {
countries: any[];
selectedCountry: Object = {};
onSubmit(form: NgForm) {
this.authService
.signUp(form.value['name'], form.value['country'])
.subscribe(signUpResult => {
//some code
});
}
}
【问题讨论】:
-
你尝试过使用响应式表单吗?
-
您能否再解释一下,以便我搜索更多“关键字”?谢谢。
-
您能尝试在 plunker 中重现该问题吗?尝试了你的代码,它对我来说很好:)
标签: angular angular2-forms angular-ngmodel