Ich habe ein Element, das von ng-repeat="item in items | filter:isselected(item)"
gefüllt wird.AngularJS: Update ng-repeat, wenn Checkbox-Status (als Filter) durch Code geändert wird
Für das Filter I Kontrollkästchen erstellt mit ng-model="selecteditem[$index]"
und dem Filter
$scope.selectedItems = [];
$scope.isselected = function(item) {
return function(i) {
for (var a in $scope.selectedItems) {
if (i.name == $scope.selectedItems[i]) return true;
}
};
};
Die Kontrollkästchen versteckt sind und in der Regel ausgelöst durch eine <label>
klicken, aber ich brauche sie auch durch Code auszulösen (Ich will nur vier Kontrollkästchen gleichzeitig überprüft werden, also habe ich eine Direktive erstellt, die erfolgreich überprüft, wie viele die letzte Box aktiviert und deaktiviert, wenn es die Nummer 5 ist.
Aber leider werden der Filter und somit die ng-repeat-Elemente nicht durch Ändern der Zustände aufgefrischt, da der Filter von einer Funktion ausgewertet wird.
Also irgendwelche Ideen, wie Sie das lösen oder umgehen?
http://plnkr.co/edit/jlMnwRI3uJdQoPznBJey?p=preview
Sie ng Klick statt jQuery Click-Handler verwenden – Ronnie