Ich versuche, Kontrollkästchen für die Auswahl von Tabellenzeilen zu implementieren. Die Tabelle wird mit ng-repeat erstellt, und ich möchte eine Texteingabe einschließen, um die Tabelle zu filtern. Wenn ein Kontrollkästchen ausgewählt ist, wird die ID für dieses Element an ein Array gesendet und es wird entfernt, wenn das Kontrollkästchen deaktiviert ist. Mein Problem ist, dass nach dem Manipulieren des Filters die Kontrollkästchen nicht aktiviert bleiben. Wie binde ich die Kontrollkästchen korrekt an mein Array?Binding Kontrollkästchen Auswahl innerhalb ng-Wiederholung Tabelle mit Filter
Plunk - https://plnkr.co/edit/U0N3vDTZAULC6CFIdhVp?p=preview
HTML:
<tr ng-repeat="name in names | filter: search">
<td>
<input type="checkbox" class="input-sm" ng-checked="selectedNames.indexOf(name.id) > -1" ng-click="addName(name.id)"/>
</td>
<td>{{name.name}}</td>
<td>{{name.age}}</td>
</tr>
JS:
$scope.addName = function (id) {
var idx = selectedNames.indexOf(id);
if (selectedNames.indexOf(id) == -1) {
console.log('Pushing: ', id)
selectedNames.push(id);
console.log(selectedNames);
} else {
selectedNames.splice(idx,1);
console.log(selectedNames);
}