Chcę uzyskać ciąg znaków oddzielonych przecinkami od wybranych elementów pola wyboru w angularJS. W tym samym czasie, gdy ciąg oddzielający przecinkami jest pobierany z bazy danych, chcę aby pola wyboru były odpowiednio sprawdzane.Wielokrotne zaznaczanie pól wyboru AngularJS zapisuje w oddzielonym przecinkiem łańcuchu
<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>
Mam rozwiązać ten problem w bardzo uproszczony sposób jest 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;
}
}
Ale to nie jest pomocne, gdy mam wiele podobnych przedmiotów. Czy ktokolwiek mógłby mi pomóc w opracowaniu dyrektywy lub rozszerzenia, aby móc je często używać ponownie? P.S. Nie chcę tablica obiektów, ale proste elementy oddzielone przecinkami.