使用Checklist-model将所有复选框设置为默认选中

时间:2017-10-18 21:15:36

标签: angularjs checklist-model

我正在使用Checklist-model来显示带复选框的数据。数据是作为承诺的结果提供的。列表正在填充,但我想将所有复选框设置为默认选中。我怎么能做到这一点?

这是我的代码:

Date = models.DateField(default=datetime.date.today)
datas.getRules().then(
  function (resRules) 
  {
    $scope.rules = resRules.data._embedded.rules;
    $scope.versionForm.ignoreRule = $scope.rules.map(r => r.id);

    console.log($scope.versionForm.ignoreRule);
  },
  function (resRulesErr) 
  {
     console.log(resRulesErr);
  }
);

<table class="table"> <thead> <tr> <th>Include</th> <th>Rule</th> </tr> </thead> <tbody> <tr ng-repeat="r in rules track by $index"> <td><input type="checkbox" checklist-model="versionForm.ignoreRule" checklist-value="r.id" /> </td> <td>{{r.expression}}</td> </tr> </tbody> </table>打印到控制台时,显示[64,67,18]。

1 个答案:

答案 0 :(得分:0)

您的代码几乎没有问题:

$scope.versionForm.ignoreRule = $scope.rules.map(r => r.id);

应该是

$scope.versionForm.ignoreRule = $scope.rules;

你想使用一组规则(对象),但实际上你有一个id数组。

<tr ng-repeat="r in rules track by $index">

应该是

<tr ng-repeat="r in rules track by r.id">

,你必须确保id是唯一的。