, когда я установил флажок, получаю ошибку в консоли. Я включил экранный снимок. Могу ли я захватить все выбранные флажки на отправке события и как избежать Невозможно назначить только для чтения свойство 'selected'error
angular
.module('test1')
.controller('Test1Controller', [
'$scope', '$http', '$location', '$window',
function($scope, $http, $location, $window) {
var storeid = window.localStorage.getItem("storeid");
$http.get('***').success(function(data, status, response)
{
$scope.items = (JSON.stringify(data[0].D_Services).replace(/\"/g, "")).split(',');
console.log($scope.items);
//console i'm getting ["Tyres", "Spares", "Accessories"]
$scope.selected = [];
});
$scope.check = function(data)
{
var arr = [];
for (var i in data) {
if (data[i].SELECTED == 'Y') {
arr.push(data[i].item);
}
}
console.log(arr);
$scope.selected = arr;
}
}
]);
<div ng-controller="Test1Controller" data-ng-init="loadservice()">
<div ng-repeat="item in items">
<input type="checkbox" ng-model="item.selected" ng-true-value="'Y'" ng-false-value="'N'"/> {{item}}
</div>
<input type="button" name="submit" value="submit" ng-click="check(items)"/>
</div>
Вы можете достичь этого, создав модальные данные и добавив их в $ scope.items
var serverData = ["Tyres", "Spares", "Accessories"]; //assuming this is server data
$scope.items = [];
for (var i = 0; i < serverData.length; i++) {
var modal = {
name: serverData[i],
selected: false
};
$scope.items.push(modal);
}
обновлен jsFiddle: http://jsfiddle.net/gopinathshiva/nLC3g/477/