Angular4/HTML-使用*ngFor的多个"是"或"否"无线电组



我使用*ngfo来显示一个或多个家庭的值。每个家庭都有一对"是"或单选按钮组。

因此,例如,如果我显示两个家庭,我最终会得到两对"是"或"否"单选按钮组。困境是,通常我们给一个单选按钮组起相同的名字,以便使"是"或"否"选项互斥。

如果我这样做,我就无法将第一个家庭中的无线电组与第二个家庭的无线电组分开,因为它们的名称都相同,如果我从第一个组中选择"是",则第二个组中的"是"将被选中,反之亦然。

如果我给yes收音机和no收音机取不同的名字,那么我就可以在同一组中同时选择yes和no(这不应该发生(。

你认为我该怎么解决这个问题?

下面附有代码段。

编辑:

我有一个后续问题。当他们点击每个家庭的表格组时,我试图显示/隐藏帮助文本。你认为我怎么能为它写一个*ngIf,因为我试过了,但似乎不起作用。有什么建议吗?

<div *ngFor="let HH of households; let i = index;" class="col-sm-8 col-xs-12 left_col_padding">
<div class="script"></div>
<h5> Please select Yes or No</h5>
<div class="form-group col-xs-8 padding_none">
<div class="radio radio-primary radio-inline radio-inline_d" style=" width:auto">
<input aria-labelledby="Yes"  type="radio" name="selectIncome{{i}}" id="selectIncome{{i}}" required  >
<label[innerHTML]="Yes"></label>
</div>
<div class="radio radio-primary radio-inline radio-inline_d" style=" width:auto">
<input aria-labelledby="No"  type="radio" name="selectIncome{{i}" id="selectIncome{{i}}" required  >
<label  [innerHTML]="No"></label>
</div>
</div>
</div>

您需要更改名称属性name="{{'selectIncome'+i}}"而不是name="selectIncome{{i}}"

这里有一个小的工作示例:多组单选按钮

你可能需要这样的东西:具有值的多组单选按钮

最新更新