如何从Angular中的动态输入获取值?

时间:2019-05-27 09:12:24

标签: angular typescript

我有一个依赖于下拉列表的文本,如果选中1个元素,我会看到一个文本字段。如果我检查2我将有2输入... 下拉列表是动态的,我不知道每次的成员数量。  所以你能帮我从下拉列表中获取输入值并将其与id值相关联,因为它们是链接的,并将它们放在包含输入的id和值以及感谢的列表中。


//this is the dropdown
<ng-multiselect-dropdown [data]="serviceModalite.list" 
    name="modaliteDemande"
    [settings]="dropdownSettingsModalite"
    [(ngModel)]="selectedItemsModalite"
    (onSelect)="onItemSelectModalite($event)" 
    (onDeSelect)="OnItemDeSelectModalite($event)"
    (onSelectAll)="onSelectAllModalite($event)"
    (onDeSelectAll)="onDeSelectAllModalite($event)"> 
</ng-multiselect-dropdown>



//this is the dynamic input that i want to put its values in a list
<div *ngFor="let M of selectedItemsModalite">
      <label>Tarif {{M.NameModalite}}</label>
      <input placeholder="price">
</div>

1 个答案:

答案 0 :(得分:0)

对于动态表单项,您需要在def xmlParser = new XmlParser().parseText(string) results = xmlParser.services[0].service[0].@type println results //Oracle 定义中添加一个FormArray字段。检出this article

定义表格:

FormGroup

使用ngOnInit() { this.orderForm = this.formBuilder.group({ customerName: '', email: '', items: this.formBuilder.array([]) }); } formArrayName处理动态表单条目。大多数情况下,formGroupName将是您的组名。使用index可以简单地绑定到名称。

formControlName

任何动态表单项更改时,也要更新表单定义。

<div formArrayName="items"
  *ngFor="let item of orderForm.get('items').controls; let i = index;">
  <div [formGroupName]="i">
    <input formControlName="name" placeholder="Item name">
    <input formControlName="description" placeholder="Item description">
    <input formControlName="price" placeholder="Item price">
  </div>

  Chosen name: {{ orderForm.controls.items.controls[i].controls.name.value }}
</div>