我正在尝试获取已选中的单选按钮并将值添加到数组中。目前,我无法删除以前检查过的单选按钮,所以基本上每次选择单选按钮时它都会不断添加到数组中。
item.component.ts
displaySelectedConditions(event) {
if(event.target.checked) {
this.selectedConditionsArr.push(event.target.value);
}
}
item.component.html
<ul class="dropdown-menu">
<li *ngFor="let item of filteredItems | funder "> //generates 4 items
<a><input type="radio" (change) = "displaySelectedConditions($event);"
name="funder" id="{{item}}" value="{{item}}">
<label for="{{item}}" >{{item}}</label></a>
</li>
</ul><!-- Dropdown Menu -->
答案 0 :(得分:0)
我建议如果您希望将值整齐地存储在某处,那么请使用表单。简单的模板驱动表单在这里运行良好,然后您将所有值存储在一个对象中,这里是一个样本:
<form #radioGroup="ngForm">
<div *ngFor="let str of strings">
<input type="radio" [value]="str" name="str" ngModel />{{str}}
</div>
<hr>
<div *ngFor="let num of numbers">
<input type="radio" [value]="num" name="num" ngModel />{{num}}
</div>
</form>
这将创建一个对象,如:
{
str: "value here",
num: "value here"
}
如果您声明如下表格,您可以轻松访问对象值:
@ViewChild('radioGroup') radioGroup: NgForm;
组件中的某个地方:
console.log(this.radioGroup.value);
<强> Plunker 强>