在条件下选中复选框

时间:2015-09-07 13:41:19

标签: javascript angularjs checkbox

我想在列表中设置一些项目,但在某些条件下。

<div data-ng-repeat="item in items>
     <input type="checkbox" checked==item.selected> {{item.name}}
</div>

让我们假设我有一些文件名为items的数组,其中的每个项都定义了属性选择。根据输入复选框的值,应选中是否复选。

2 个答案:

答案 0 :(得分:1)

请尝试以下代码:

<div data-ng-repeat="item in items>
     <input type="checkbox" ng-model="item.selected"> {{item.name}}
</div>

希望这有帮助。

答案 1 :(得分:0)

试试这个:

  

您可以将条件逻辑放在ng-init中,如下例所示:

angular.module('myApp', [])
  .controller('myController', function($scope) {
    $scope.items = [{
      name: 'A'
    }, {
      name: 'B'
    }, {
      name: 'C'
    }];
    $scope.youCondition = function(item) {
      //Your logic
      if (item.name === 'A' || item.name === 'C') {
        item.selected = false;
      }
      else
      {
        item.selected = true;
      }
    }
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html lang="en" ng-app="myApp">

<head>
  <meta charset="UTF-8">
  <title></title>
</head>

<body ng-controller="myController">
  <div data-ng-repeat="item in items">
    <input type="checkbox" ng-init="youCondition(item)" ng-model="item.selected">{{item.name}}
  </div>
</body>

</html>