【发布时间】:2018-12-26 17:12:06
【问题描述】:
我有这样显示的公司列表:
<div class="col-md-4">
<select ngModel="selectedCompany" style="width:400px;">
<option *ngFor="let x of mycompanylist" value="{{x.id}}">{{x.name}}
</option>
</select>
<input class="form-control" type="text" formControlName="CompanyID" value = "{{selectedCompany}}">
</div>
我需要在输入标签中显示所选选项的值。我试图用 ngModel 来做,但它不起作用。
主要目的是将值传递给formControlName,以便在提交表单后我可以接收到值,但如果我这样做:
<option *ngFor="let x of mycompanylist" value="{{x.id}}" fromControlName="ComapnyID">
选项不再显示
更新
我使用[(ngModel)] 修复了它并摆脱了formControlName。
这里有一个Working Sample StackBlitz 供参考。
更新
表格:
<div class="col-md-4">
<select class="form-control" [(ngModel)]="selectedCompany">
<option *ngFor="let x of mycompanylist" [value]="x.id">{{x.name}}
</option>
</select>
</div>
<form [formGroup]="invoiceForm" (ngSubmit)="save()" #formDir="ngForm" novalidate>
<div class="form-group row">
<label class="control-label col-md-12" for="name">CompanyID</label>
<div class="col-md-4">
<input class="form-control" type="text" formControlName="CompanyID" value ="{{selectedCompany}}">
</div>
<span class="text-danger" *ngIf="invoiceForm.hasError('required', 'CompanyID') && formDir.submitted">
CompanyID is required.
</span>
</div>
<div class="form-group row">
<label class=" control-label col-md-12" for="description">VendorID</label>
<div class="col-md-4"> <input class="form-control" type="text" formControlName="VendorID"> </div>
</div>
<div class="form-group"> <button type="submit" class="btn btn-default">Save</button> <button class="btn" (click)="cancel()">Cancel</button> </div>
</form>
错误:
【问题讨论】:
-
@SiddAjmera 感谢您的帮助,但有一个问题。输入字段只识别用户输入,我的意思是如果用户输入公司 2,然后在选项中选择公司 3,输入字段中显示公司 3,但输入的值仍然是公司 2。我该如何解决这个问题?跨度>
-
@SiddAjmera 我已经添加了完整的表格,也许它可以提供帮助
标签: javascript angular ngfor ngmodel