Adr*_*rma 6 typescript angular2-forms angular angular4-forms
我想在不使用change()或click()函数的情况下获取组件中表单的所有已检查项目,因为它无法获取已经检查过的项目.
这是我在TS中的数组:
PartyRoles = [
{
Id: 1,
Name: "Vendor",
Checked: true
},
{
Id: 2,
Name: "Client",
Checked: true
},
{
Id: 3,
Name: "Consigner",
Checked: false
}
]
Run Code Online (Sandbox Code Playgroud)
我的HTML表单:
<form (ngSubmit)="editPartyRolesSubmit()">
<div *ngFor="let item of PartyRoles">
<label>
<input type="checkbox" value="{{item.Id}}" [attr.checked]="item.Checked==true ? true : null" [attr.disabled]="item.Id==1 ? true : null" />
<span innerHTML="{{item.Name}}"></span>
</label>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我的onSubmit函数,我想要获取所有选中的值:
editPartyRolesSubmit= function () {
// Please suggest how to fetch checked items
}
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以使用Form和NgModel
<form #checkboxForm="ngForm" (submit)="editPartyRolesSubmit()">
<div *ngFor="let item of PartyRoles">
<label>
<input type="checkbox" value="{{item.Id}}" [(ngModel)]="item.Checked" [name]="item.Name" [attr.disabled]="item.Id==1 ? true : null" />
<span innerHTML="{{item.Name}}"></span>
</label>
</div>
<input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
功能可以
editPartyRolesSubmit() {
console.log(this.PartyRoles);
}
Run Code Online (Sandbox Code Playgroud)