web-dev-qa-db-fra.com

Valeur de changement de case à cocher angulaire 4

comment pouvez-vous réaliser dans Angular 4 que lorsque vous vous inscrivez dans une case à cocher, enregistrez une valeur "A" ou "B". Autant que j'essaye, il m'envoie seulement vrai ou faux, j'espère que quelqu'un pourra m'aider.

registry.component.ts

  this.userForm = new FormGroup({
   state: new FormControl('',),

  });

registry.component.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>

De cette façon, je peux obtenir que la console affiche la valeur que je veux (A ou B) mais que JSON est toujours vrai ou faux.

9
J. Edu

C'est ce que vous recherchez: 

<input type="checkbox" [(ngModel)]="isChecked" (change)="checkValue(isChecked?'A':'B')" />

Dans votre classe:

checkValue(event: any){
   console.log(event);
}

Incluez également FormsModule dans app.module.ts pour que ngModel fonctionne!

J'espère que ça aide!

25
SHOHIL SETHIA

Essayez-le,

Modèle

<input (change)="FieldsChange($event)" value="angular" type="checkbox"/>

Fichier Ts

FieldsChange(values:any){
console.log(values.currentTarget.checked);
}
14
balajivaishnav
changed = (evt) => {    
this.isChecked = evt.target.checked;
}

<input type="checkbox" [checked]="checkbox" (change)="changed($event)" id="no"/>
7
Vadivel Subramanian

Je suppose que c’est ce que vous essayez d’atteindre.

<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);
}
<input type="checkbox" value="a" (click)="clicked('A')">A
<input type="checkbox" value="b" (click)="clicked('B')">B

clicked(val){
   console.log(val);
}

veux-tu quelque chose comme ça?

0
Imdad Ali

Vous pouvez utiliser ceci:

<input type="checkbox" [checked]="record.status" (change)="changeStatus(record.id,$event)">

Et sur votre dossier de ts,

changeStatus(id, e) {
    var status = e.target.checked;
    this.yourseverice.changeStatus(id, status).subscribe(result => {
        if (status)
            this.notify.success(this.l('AddedAsKeyPeople'));
        else
            this.notify.success(this.l('RemovedFromKeyPeople'));

    });
}

Ici, record est le modèle pour la ligne en cours et status est une valeur booléenne.

0
Abdus Salam Azad