根据下拉列表中的选定值显示表单字段Angular TypeScript

时间:2018-11-14 14:55:29

标签: javascript html angular forms typescript

我想根据表单的下拉列表中的所选值显示表单字段。

例如,如果在下拉列表中选择的元素是“第一个”,我希望表格不更改。

另一方面,如果我在下拉列表中选择元素“ two”,我希望它显示输入“ appears”

这是我目前的代码

HTML:

produtos

TypeScript:

<div class="div-champs">
    <p id="champs">Type
       <span id="required">*</span>
    </p>
    <div class="select-style ">
        <select [(ngModel)]="selectedOption" name="type" > 
           <option style="display:none">
           <option *ngFor="let o of options">
              {{o.name}}
           </option>
       </select>
    </div>
</div>

<p id="champs">Appears
    <input type="appears" class="form-control" name="appears" formControlName="appears">
</p>

预先感谢您的帮助。

美好的一天,

关于, 瓦伦丁

2 个答案:

答案 0 :(得分:2)

  

您可以将if条件设置为-

<p id="champs" *ngIf="selectedOption == 'two'">Appears
    <input type="appears" class="form-control" name="appears" formControlName="appears">
</p>

html

      <select [(ngModel)]="selectedOption" name="type" > 
           <option style="display:none">
           <option [value]="o.name" *ngFor="let o of options">
              {{o.name}}
           </option>
       </select>

工作副本在这里-https://stackblitz.com/edit/angular-fqkfyx

注意:您对Angular似乎很陌生,我鼓励您逐步学习Angular教程。从长远来看,Stackoverflow不会有帮助。

答案 1 :(得分:2)

您可以在html中使用有角的条件,称为* ngIf。

<input *ngIf="selectedOption == 'two'" type="appears" class="form-control" name="appears" formControlName="appears">

来源:https://angular.io/api/common/NgIf