Angular 4 从复选框中获取值
Angular 4 getting values from checkboxes
我是 angular 的新手,被这个非常简单的问题困住了。我正在从网络服务获取数据以显示几个复选框。我需要一种方法来获取用户选择的所有复选框的值。我正在使用 material 主题。
<span *ngFor="let x of maintainanceTypeList">
<md-checkbox
name="{{x.maintenancetype}}"
value="{{x.maintenancetype}}"
[formControl]="CreateSocietyForm.controls['checkMaintainanceType']">
{{x.maintenancetype}}
</md-checkbox>
</span>
您可以将 change
事件添加到 md-checkbox
并将对象传递给函数。维护一个 array
来跟踪哪些人得到了 checked
和 unchecked
并根据它更新数组。
html:
<span *ngFor="let x of maintainanceTypeList">
<md-checkbox
name="{{x.maintenancetype}}"
value="{{x.maintenancetype}}"
(change)="change($event, x)">
{{x.maintenancetype}}
</md-checkbox>
</span>
<p> Selected value: {{selectedValue | json}} </p>
component.ts:
export class SelectFormExample {
selectedValue = [];
maintainanceTypeList = [
{maintenancetype: 'Steak'},
{maintenancetype: 'Pizza'},
{maintenancetype: 'Tacos'}
];
change(e, type){
console.log(e.checked);
console.log(type);
if(e.checked){
this.selectedValue.push(type);
}
else{
let updateItem = this.selectedValue.find(this.findIndexToUpdate, type.maintenancetype));
let index = this.selectedValue.indexOf(updateItem);
this.selectedValue.splice(index, 1);
}
}
findIndexToUpdate(type) {
return type.maintenancetype === this;
}
}
您可以使用以下内容代替 e.checked
:
工作示例
HTML
<input class="form-check-input" type="checkbox" (change)="selectBadge($event, badge._id)">
打字稿
selectBadge (e, id) {
if (e.target.checked) {
this.product.badges.push(id);
} else {
this.product.badges.splice(this.product.badges.indexOf(id), 1);
}
}
我是 angular 的新手,被这个非常简单的问题困住了。我正在从网络服务获取数据以显示几个复选框。我需要一种方法来获取用户选择的所有复选框的值。我正在使用 material 主题。
<span *ngFor="let x of maintainanceTypeList">
<md-checkbox
name="{{x.maintenancetype}}"
value="{{x.maintenancetype}}"
[formControl]="CreateSocietyForm.controls['checkMaintainanceType']">
{{x.maintenancetype}}
</md-checkbox>
</span>
您可以将 change
事件添加到 md-checkbox
并将对象传递给函数。维护一个 array
来跟踪哪些人得到了 checked
和 unchecked
并根据它更新数组。
html:
<span *ngFor="let x of maintainanceTypeList">
<md-checkbox
name="{{x.maintenancetype}}"
value="{{x.maintenancetype}}"
(change)="change($event, x)">
{{x.maintenancetype}}
</md-checkbox>
</span>
<p> Selected value: {{selectedValue | json}} </p>
component.ts:
export class SelectFormExample {
selectedValue = [];
maintainanceTypeList = [
{maintenancetype: 'Steak'},
{maintenancetype: 'Pizza'},
{maintenancetype: 'Tacos'}
];
change(e, type){
console.log(e.checked);
console.log(type);
if(e.checked){
this.selectedValue.push(type);
}
else{
let updateItem = this.selectedValue.find(this.findIndexToUpdate, type.maintenancetype));
let index = this.selectedValue.indexOf(updateItem);
this.selectedValue.splice(index, 1);
}
}
findIndexToUpdate(type) {
return type.maintenancetype === this;
}
}
您可以使用以下内容代替 e.checked
:
工作示例
HTML
<input class="form-check-input" type="checkbox" (change)="selectBadge($event, badge._id)">
打字稿
selectBadge (e, id) {
if (e.target.checked) {
this.product.badges.push(id);
} else {
this.product.badges.splice(this.product.badges.indexOf(id), 1);
}
}