0

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>

4

0 回答 0