ngModel 似乎有问题。
我正在尝试获取选定的复选框 ID,但它没有保存,因为 ngModel 没有更改它们的选中属性。
这些只是部分代码片段。当我将选中的值之一变为 true 时,ID 保存到复选框数组中(单击按钮时会运行 addCustom 函数)。
我该如何解决这个问题,以便我可以获得选中的复选框?
$scope.checkboxData = [{
name: "Computer Crash",
id: 1,
checked: false
}, {
name: "Computer Restart",
id: 2,
checked: false
}];
$scope.addCustom = function() {
$scope.custom = !$scope.custom; // close modal
// get checkbox id
$scope.checkboxArray = [];
$scope.checkboxData.forEach(function(checkbox) {
if (checkbox.checked) {
console.log(checkbox.id);
$scope.checkboxArray.push(checkbox.id);
}
})
console.log($scope.checkboxArray);
//////
$scope.data.push({
name: $scope.name,
symptom: $scope.checkboxArray,
answer: $scope.answer
});
localStorage.setItem('data', JSON.stringify($scope.data));
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js"></script>
<div ng-app="Netsafe" ng-controller="activityController">
<div ng-repeat="checkbox in checkboxData" class="form-check form-check-inline col-sm-4">
<label>
<input type="checkbox" ng-model="checkbox.checked"/>
{{checkbox.name}}
</label>
</div>
</div>