2017-12-22 4 views
1

Ich habe eine Tabelle mit X-Datensätze, aus der Tabelle möchte ich Elemente in Array hinzufügen (oder entfernen, wenn Zeile deaktivieren), aber ich weiß nicht, wie Funktionen ausgeführt werden, wenn Kontrollkästchen ist wahr oder nicht ... aber das funktioniert nichtFunktionen ausführen, wenn das Kontrollkästchen aktiviert oder nicht aktiviert ist? Angular

<tr ng-repeat="item in vm.orders" ng-click="vm.getRow(item)"> 
    <td>{{item.Name}}</td> 
    <td>{{item.state}}</td> 
    <td><input type="checkbox" 
      ng-true-value="vm.addToArray(item)" 
      ng-false-value="vm.removeFromArray(item)" 
    /></td> 
</tr> 

Controller:

function addToArray(model) { 
    vm.selectedItems.push(model); 
} 

function removeFromArray(model) { 
    //my logic remove 
} 

Antwort

1

Und Ihre ng-Wiederholung wie folgt ändern,

<td><input type="checkbox" ng-model="checked" 
      ng-change="addorRemove(checked, item)"" 

    /></td> 

Verwenden Array.splice

+0

emm das funktioniert, aber mein Problem funktioniert nicht die Aufruffunktionen in ng-True-Wert und ng-false-Wert –

+0

@DaniloCaroAparicio Verwendung ng-Änderung wie oben – Sajeetharan

1

Nach meinem Verständnis können Sie addToArray und addToArray nicht aufrufen. Um das zu erreichen, dass Sie ng-change verwenden können, wie unten gezeigt:

<input type="checkbox" ng-model="item.myChkModel" ng-change="vm.myClick(item)"> 

$scope.vm.myClick = function($event) { 
      //write logic to add or remove item based on model value 
     } 

Hoffe, es hilft.

Verwandte Themen