Я хочу получить значение checkbox при отправке event.i использую mongodb database.console, я получаю значение, как этот Tires, Spares, Accessories.i сделал страницу просмотра на основе output.if, когда я нажимаю флажок, я получил ошибку в консоли TypeError: Невозможно назначить только свойство "выбрано" для чтения только для "tyres". Как я могу это решить, пожалуйста, помогите мне
'use strict';
/**
* @ngdoc object
* @name test1.Controllers.Test1Controller
* @description Test1Controller
* @requires ng.$scope
*/
angular
.module('test1')
.controller('Test1Controller', [
'$scope', '$http', '$location', '$window',
function($scope, $http, $location, $window) {
$http.get('***').success(function(data, status, response) {
$scope.items = (JSON.stringify(data[0].D_Services).replace(/\"/g, "")).split(',');
console.log($scope.items);
});
$scope.check = function(items) {
console.log(items);
};
}
]);
<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>
how can i grab all selected check box values on submit action only
Результат этого кода: items.split(',')
- это массив, который не существует в области видимости, поэтому он не может быть записываемой моделью для директивы ng-repeat. Вы должны создать массив в своей области следующим образом:
$scope.items = (JSON.stringify(data[0].D_Services).replace(/\"/g, "")).split(',');
и использовать эту модель в разметке
<div ng-repeat="item in items">
...
</div>
Если вам нужен результат в виде строки, вы должны присоединиться к ней перед возвратом:
$scope.check = function(items) {
console.log(items.join(','));
};
поскольку элементы представляют собой строку типа
var items = "john,grace,peter";
и когда вы выполняете items.split(','), это приведет к тому, что массив строк
["john","grace","peter"]
и когда ng-model пытается установить проверенный статус для каждого элемента, который является ошибкой, потому что вы не можете выполнять такие операции, как
items[1].selected
поскольку элементы [1] - это массив.