【发布时间】:2018-03-18 00:02:29
【问题描述】:
我正在构建一个注册表单,并且必须处理通过 *ngFor 结构指令生成的多个复选框。
模板:
<div class="form-group">
<label class="col-lg-3 control-label">Response Type</label>
<div class="col-lg-7">
<div class="checkbox" *ngFor="let type of client.responseTypes; let i = index">
<label>
<input type="checkbox" name="responseTypes" [(ngModel)]="client.responseTypes[i].checked" /> {{type.value}}
</label>
</div>
</div>
</div>
TS 模型对象:
client.responseTypes = [
{ value: 'type1', checked: false},
{ value: 'type2', checked: true },
{ value: 'type3', checked: true }
];
选中或未选中的场景背后的实际值被正确存储。但是,复选框没有显示正确的值。
- 如果三个 objects.checked 之一 == false,则所有复选框都将显示为未选中
- 仅当所有三个objects.checked == true 时,才会在表单中检查所有三个。
我尝试在输入元素上摆弄[value]="client.responseTypes[i].checked" 和[checked]="client.responseTypes[i].checked",但没有成功。
非常感谢任何正确方向的指针。
问候,克里斯
【问题讨论】:
-
哇,这太奇怪了...我不知道是什么或如何触发了我的应用程序中不需要的行为。
-
@yurzui 问题是由于我的模板代码位于
标签: forms angular checkbox ngfor