typescript - Angular 4 promjena vrijednosti checkboxa
Kako možete postići u Angular 4 da kada se registrirate u checkbox spremi vrijednost „A” ili „B”. Koliko god pokušavao, šalje mi samo true ili false, nadam se da mi netko može pomoći.
registry.component.ts
this.userForm = new FormGroup({
state: new FormControl('',),
});
registri.komponenta.html
<div class="form-group">
<label>State</label>
<input type="checkbox"
[(ngModel)]="isChecked"
(change)="checkValue(isChecked?'A':'B')"
formControlName="state"/>
</div>
<pre>{{userForm.value | json}}</pre>
Na taj način mogu dobiti da konzola prikaže vrijednost koju želim (A ili B), ali u JSON-u je i dalje true ili false.
Odgovor #1
Ovo je ono što tražite:
<input type="checkbox" [(ngModel)]="isChecked" (change)="checkValue(isChecked?'A':'B')" />
Unutar vaše klase:
checkValue(event: any){
console.log(event);
}
Uključite i FormsModule u app.module.ts kako bi ngModel radio!
Nadam se da pomaže!
Odgovor #2
Pokušaj s ovim,
Predložak
<input (change)="fieldsChange($event)" value="angular" type="checkbox"/>
Ts datoteka
fieldsChange(values:any):void {
console.log(values.currentTarget.checked);
}
Odgovor #3
changed = (evt) => {
this.isChecked = evt.target.checked;
}
<input type="checkbox" [checked]="checkbox" (change)="changed($event)" id="no"/>
Odgovor #4
Možemo učiniti sljedeće. Koristim Angular 12.
[Html]
<input type="checkbox" formControlName="lock" (change)="changeStatus($event)" />
[TS]
changeStatus(event:Event){
const isChecked = (<HTMLInputElement>event.target).checked;
console.log(isChecked)
}
Odgovor #5
Pretpostavljam da je ovo nešto što pokušavaš postići.
<input type="checkbox" value="a" (click)="click($event)">A
<input type="checkbox" value="b" (click)="click($event)">B
click(ev){
console.log(ev.target.defaultValue);
}
