Javascript Angular 2列出需要预选的复选框,并在表单提交中获取这些值
我有一个需要通过items json数组呈现的复选框列表,并预先勾选“item.isInPackage”应等于true:Javascript Angular 2列出需要预选的复选框,并在表单提交中获取这些值,javascript,angular,Javascript,Angular,我有一个需要通过items json数组呈现的复选框列表,并预先勾选“item.isInPackage”应等于true: <tr *ngFor="let item of items"><td><input id="item.id" type="checkbox" [checked]="item.isInPackage"></td></tr> 我不清楚这些复选框是否也需要应用[(ngModel)]?您可以使用[(ngModel)],但您
<tr *ngFor="let item of items"><td><input id="item.id" type="checkbox" [checked]="item.isInPackage"></td></tr>
我不清楚这些复选框是否也需要应用[(ngModel)]?您可以使用[(ngModel)]
,但您不必这样做。我使用了(单击)
,并将其绑定到构建JSON的函数。以下是我所做的:
@Component({
selector: 'my-app',
template: `
<input *ngFor="let item of items" id="item?.fixture.id" type="checkbox" (click)="setObj(item)" [checked]="item.isInPackage" #item?.fixture.id>
{{obj}}`,
styles: []
})
export class FormComponent implements OnInit {
items : any[] = [{fixtureId:1,isInPackage:false},{fixtureId:2,isInPackage: false}]
obj : string = "[]";
constructor(){
}
setObj(item){
let obj = JSON.parse(this.obj);
item.isInPackage = !item.isInPackage;
if(!item.isInPackage){
obj.forEach((e,i) => {
e.fixtureId === item.fixtureId ? obj.splice(i,1) : null;
})
} else {
obj.push({fixtureId:item.fixtureId});
}
this.obj = JSON.stringify(obj);
}
}
@组件({
选择器:“我的应用程序”,
模板:`
{{obj}}`,
样式:[]
})
导出类FormComponent实现OnInit{
items:any[]=[{fixtureId:1,isInPackage:false},{fixtureId:2,isInPackage:false}]
obj:string=“[]”;
构造函数(){
}
setObj(项目){
让obj=JSON.parse(this.obj);
item.isInPackage=!item.isInPackage;
如果(!item.isInPackage){
对象forEach((e,i)=>{
e、 fixtureId==item.fixtureId?对象拼接(i,1):空;
})
}否则{
推送({fixtureId:item.fixtureId});
}
this.obj=JSON.stringify(obj);
}
}
@Component({
selector: 'my-app',
template: `
<input *ngFor="let item of items" id="item?.fixture.id" type="checkbox" (click)="setObj(item)" [checked]="item.isInPackage" #item?.fixture.id>
{{obj}}`,
styles: []
})
export class FormComponent implements OnInit {
items : any[] = [{fixtureId:1,isInPackage:false},{fixtureId:2,isInPackage: false}]
obj : string = "[]";
constructor(){
}
setObj(item){
let obj = JSON.parse(this.obj);
item.isInPackage = !item.isInPackage;
if(!item.isInPackage){
obj.forEach((e,i) => {
e.fixtureId === item.fixtureId ? obj.splice(i,1) : null;
})
} else {
obj.push({fixtureId:item.fixtureId});
}
this.obj = JSON.stringify(obj);
}
}