Ich möchte Komma getrennte Zeichenfolge von ausgewählten Kontrollkästchen in angularJS erhalten. Zur gleichen Zeit, wenn eine durch Komma getrennte Zeichenfolge aus der Datenbank abgerufen wird, möchte ich, dass die Kontrollkästchen entsprechend geprüft werden.AngularJS Multi-Auswahl Kontrollkästchen speichert in Komma getrennt String
<div class="col-md-5">
<input type="checkbox" ng-model="Drawings.CarMDrawings" ng-change="Update(Drawings)"> Car
<br />
<input type="checkbox" ng-model="Drawings.SignalMDrawings" ng-change="Update(Drawings)"> Signal
<br />
<input type="checkbox" ng-model="Drawings.DoorMDawings" ng-change="Update(Drawings)"> Door
<br />
</div>
ich das Problem in sehr simple Art und Weise gelöst haben, ist Plunker http://plnkr.co/edit/YYd5bN5Chmyjt6gSH1Bw?p=preview
$scope.Update = function(Drawings) {
var str = "";
if (Drawings.CarMDrawings) {
str = "Car";
}
if (Drawings.SignalMDrawings) {
str = str + ",Signal";
}
if (Drawings.DoorMDawings) {
str = str + ",Door";
}
if (str.charAt(0) === ',') {
str = str.substr(1);
}
$scope.data = str;
}
$scope.revUpdate = function(data) {
var str = data;
$scope.Drawings = {};
if (str.indexOf('Car') != -1) {
$scope.Drawings.CarMDrawings = true;
}
if (str.indexOf('Signal') != -1) {
$scope.Drawings.SignalMDrawings = true;
}
if (str.indexOf('Door') != -1) {
$scope.Drawings.DoorMDawings = true;
}
}
Aber es ist nicht hilfreich, wenn ich viele ähnliche Produkte haben. Könnte mir jemand helfen, eine Direktive oder Erweiterung zu erstellen, damit ich sie häufig wiederverwenden kann? P.S. Ich möchte kein Array von Objekten, sondern einfache durch Kommas getrennte String-Elemente.