有一个应用程序,我需要独立选择3个单选按钮(作为过滤功能)。
这是我的HTML:
<div class="dropdown" *ngFor="let type of filterTypes">
<button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{type}}</button>
<div class="dropdown-menu byrd-shade" aria-labelledby="dropdownMenuButton">
<div class="radio-group">
<div class="checkbox-forms gay-flame-forms form-group radio">
<label class="form-check-label">
<div *ngFor="let media of filterMedia">
<input *ngIf="filterMedia"
class="form-check-input"
type="radio"
name="filterMedia"
value="1">
<i aria-hidden="true" class="fa fa-circle"></i>{{media}}
</div>
</label>
</div>
</div>
</div>
TS:
filterTypes: any = ['Media type', 'License type', 'Verification'];
filterMedia: any = ['All', 'Images', 'Videos'];
filterLicense: any = ['All, Exclusive, Non-exclusive'];
filterVerification: any = ['All', 'Verified', 'Non-verified'];
输出:
我接近这个错误吗?我需要radiobuttons单独(?)激活。
答案 0 :(得分:1)
您正在给所有无线电输入相同的值,即= 1,那么您将如何区分它们。 您应该将value属性绑定到变量,具体取决于您的循环迭代,如下所示
<div *ngFor="let media of filterMedia ; let i = index">
<input *ngIf="filterMedia"
class="form-check-input"
type="radio"
name="filterMedia"
[value]="index">
<i aria-hidden="true" class="fa fa-circle"></i>{{media}}
</div>
对于ngFor的三次迭代,它将创建一个值为1,2和3的无线电。那应该可以完成这项工作。
答案 1 :(得分:0)
您可以使用以下形式包装输入:
<div class="dropdown" *ngFor="let type of filterTypes">
<button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{type}}</button>
<div class="dropdown-menu byrd-shade" aria-labelledby="dropdownMenuButton">
<div class="radio-group">
<div class="checkbox-forms gay-flame-forms form-group radio">
<label class="form-check-label">
<form>
<div *ngFor="let media of filterMedia">
<input
*ngIf="filterMedia"
class="form-check-input"
type="radio"
name="filterMedia"
value="1">
<i aria-hidden="true" class="fa fa-circle"></i>{{media}}
</div>
</form>
</label>
</div>
</div>
</div>
希望我理解你的问题,这就是你要找的。