我正在使用一个包含数百个复选框的表单,用于我的商店搜索引擎。一切顺利,除了ngModel
似乎检查我的所有复选框。这是为什么?我在浏览器的checked
标签中看不到Elements
...
HTML:
<form #filterForm="ngForm" *ngIf="properties">
<fieldset ngModelGroup="inputs" #inputs="ngModelGroup">
<button type="button" class="btn btn-primary" style="width: 100%;" (click)="toggleTab('filters')">Филтриране на резултатите</button>
<div id="filters" style="display: none;">
<hr />
<div class="row">
<div class="col-sm-6" *ngFor="let property of properties.SearchPropertyInfoList.Content.Item">
<h5>{{property.Name}}</h5>
<div class="filter">
<label class="custom-control custom-checkbox" *ngFor="let value of property.Values.PropertyValue">
<input type="checkbox" name="{{property.Id + '-' + value.Id}}"
[ngModel]="property.Id + '-' + value.Id" class="custom-control-input" />
<span class="custom-control-indicator"></span>
<span class="custom-control-description">{{value.Name}}</span></label>
</div>
</div>
</div>
<hr />
<button type="button" class="btn btn-primary" style="width: 100%;" (click)="searchBy(filterForm)">Запази филтрите</button>
</div>
</fieldset>
</form>
JS:
searchBy(filterForm) {
console.log(filterForm.form.value.inputs);
}
编辑:
另外,如何将输入值作为逗号分隔的字符串加入?他们应该成为:1627207-3232483,1627207-3232484...
。我尝试使用filterForm.form.value.inputs.join()
,但却出现join is not a function
错误。
{ “1627207-3232483”: “1627207-3232483”, “1627207-3232484”: “1627207-3232484”, “1627207-3232481”: “1627207-3232481”}