Wie man überprüft, checkbox Wert und speichern Sie die array-variable in angularjs?
Habe ich erstellt array-Liste und Auflistung es als mehrere Kontrollkästchen. Aus, dass, wenn ich wählen, ich bin die Speicherung in der array-variable, und wenn ich deaktivieren muss, um sein entfernen aus dem array. Ich habe versucht, diese funktioniert aber beim deaktivieren Wert ist, nicht das entfernen von array-Variablen.
Hier ist mein code unten und jsfiddle
HTML
<div ng-app="myApp" ng-controller="MyCtrl">
<lable ng-repeat="list in lists">
<input type="checkbox" name="chk[]" ng-model="lst" value="{{list.vl}}" ng-change="change()">
{{list.vl}} <br>
</lable>
</div>
SKRIPT
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', function($scope){
$scope.lists = [
{'vl' : 1},
{'vl' : 2},
{'vl' : 3},
{'vl' : 4},
{'vl' : 5},
];
$scope.lst = [];
$scope.change = function(){
$scope.lst.push('2');
console.log($scope.lst);
};
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die übergabe der Daten in
ngChange
dass Sie brauchen, um zu entscheiden, wenn Sie möchten, zu schieben oder zu Spleißen.HTML
SKRIPT
Beachten Sie, dass der aktuelle Wert für jedes Element wird in einer variable gespeichert
active
auf den isolierten Bereich. Wenn Sie den Wert in Ihrem Modell, nur binden mag dieses:https://jsfiddle.net/ruzw4Lfb/8/
ngRepeat
. docs.angularjs.org/api/ng/directive/ngRepeat ich bin nicht sicher, was Sie speichern möchten, in das array. In meinem Beispiel habe ich schob die$index
. Ich denke, das ist nicht, was Sie wirklich wollen, aber es' s sehr unklar deine Frage.change
, die tatsächlich benötigt wird. Ich habe nicht wirklich verstehen, seine Absicht von der Frage.Ich habe auch eine Lösung für Ihr problem in einer anderen Weise. Ich habe etwas einfacher als deins. Dies kann Ihnen dabei helfen. Überprüfen Sie die Beispiel-code unten:
app.js
index.html
Verwendung von push und pop von Arrays
Change() senden zwei Werte zuerst werden Sie ausgewählt, die durch ng-Modell und der zweite den Wert, den Sie möchten, zu schieben oder schneiden(entfernen).
Fiddle
Hoffe, es hilft 🙂
value="{{list.vl}}"
mehr. Einfach zu entfernen und wird sich der code mehr viel sauberer.erste, ich nehme an, welches Sie synthax der Liste ist falsch, da sollten Sie Listes:
Dann ist dieses unnötige :
$scope.lst = {};
wie können Sie Einfluss auf das Modell der jedes Element der Liste wie :Hinweis Posten.lst aktualisiert wird yout-Listen-Modell.
nach mehreren wechseln haben Sie :