2017-12-03 5 views
0

ich bin Bindung der checked-Attribut von Kontrollkästchen mit einem Modell wie diesesWinkel 2 Checkbox Bindung Fehler

<tr *ngFor="let user of users;let userIndex=index;"> 
    <!--Some other code--> 
    <td (click)="changeUserStatus(userIndex)"> 
     <div class="checkbox"> 
     <label> 
     <input type="checkbox" id="{{'userstatus'+userIndex}}" name="{{'userstatus'+userIndex}}" [checked]="(user.status==='true')?true:false"> 
     </label> 
    </div> 
    </td> 
</tr> 

.ts

changeUserStatus(index: string) { 
    if (this.users[index].status === "false") 
    this.users[index].status = "true"; 
    else this.users[index].status = "false"; 
} 

ich auch diese Bedingung geprüft (user.status = == 'true')? true: false was wahr ergibt. Aber das Kontrollkästchen wird nicht überprüft, egal was passiert.

Bitte helfen Sie !!

+0

Was innen changeUserStatus ist hapening? – Sajeetharan

+0

Ich habe die Frage mit meinem neuesten Code aktualisiert. Aber es funktioniert immer noch nicht –

+0

Warum setzen Sie das wahre Zitat ein? Versuchen Sie diese Checkbox "' –

Antwort

0

ich die Antwort gefunden.

Änderung der html als:

<input type="checkbox" id="{{'userstatus'+userIndex}}" name="{{'userstatus'+userIndex}}" [checked]="(user.status==='true')?true:''"> 
0

Verwenden Sie ng-Modell anstelle von ID. Testen Sie diese Dokumentation lesen: https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D

es aus irgendeinem Grunde ist der Winkel nicht Ihre Eingabe macht Attribut

+0

Dies bezieht sich auf eckige 2. und Sie benötigen keine ng-Modell-Bindung, um dies zu erreichen. –