我希望我的下拉列表根据所选值显示/隐藏 Div
我的 angular 项目中有一个下拉列表和几个 Div,如代码所示
<div class="col-md-12 no-padding">
<label>Reply Type</label>
<select class="form-control select2" formControlName="replytype" type="text" style="width: 100%;">
<option value="predefined">Predefined</option>
<option value="opentype">Open Type</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
Div1
<div class="col-md-12 no-padding">
<label>Application Name</label>
<input type="text" formControlName="applicationname" class="form-control" id="applicationname" placeholder="Application Name">
<span class="text-danger" *ngIf="form.controls['applicationname'].touched && form.controls['applicationname'].hasError('required')">
Application Name is required! </span>
</div>
Run Code Online (Sandbox Code Playgroud)
Div2
<div class="col-md-12 no-padding">
<label>Main Menu</label>
<input type="text"class="form-control" id="mainmenu" placeholder="Message Text">
</div>
Run Code Online (Sandbox Code Playgroud)
如果选定的值是预定义的,则 Div1 是可见的,而 Div2 是隐藏的,但如果它是 opentype,则 Div2 是可见的,而 Div1 是隐藏的。
默认情况下,Div1 值应该是 opentype 并且 Div2 应该是可见的
在这里,我在下拉列表中使用了ngModel,因此您可以获得从下拉列表中选择的值。
<div class="col-md-12 no-padding">
<label>Reply Type</label>
<select class="form-control select2" formControlName="replytype" type="text" style="width: 100%;" [(ngModel)]="optionValue">
<option value="predefined">Predefined</option>
<option value="opentype" selected>Open Type</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
在 Ts 文件中,您需要像这样声明一个名为 optionValue 的变量:
`optionValue`;
Run Code Online (Sandbox Code Playgroud)
现在您可以使用ngIf来显示/隐藏 Div。
Div1
<ng-container *ngIf="optionValue == 'predefined'>
<div class="col-md-12 no-padding">
<label>Application Name</label>
<input type="text" formControlName="applicationname" class="form-control" id="applicationname" placeholder="Application Name">
<span class="text-danger" *ngIf="form.controls['applicationname'].touched && form.controls['applicationname'].hasError('required')">
Application Name is required! </span>
</div>
</ng-container>
Run Code Online (Sandbox Code Playgroud)
Div2
<ng-container *ngIf="optionValue == 'opentype'"
<div class="col-md-12 no-padding">
<label>Main Menu</label>
<input type="text"class="form-control" id="mainmenu" placeholder="Message Text">
</div>
</ng-container>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18905 次 |
| 最近记录: |