在ng-repeat中设置复选框以默认选中

时间:2017-03-22 15:11:22

标签: angularjs

我在ng-repeat中有以下复选框,默认情况下应始终检查此复选框。我遇到的问题是我可以将其设置为在控制器范围检查但不在项目(perf)范围。因此,如果我将其设置在控制器范围内,如果取消选中它,则取消选中所有项目(perf)。顺便说一下,从我遇到的所有示例中可以看出,最初根据项目数组中我没有的值来检查复选框。

<div ng-repeat="(perf) in $ctrl.filteredPerfs">
  <div class="row">
    <div class="pull-right cs-fg" ng-class="{'hidden': perf.showContigSeats == 'N'}">
      <md-input-container class="cs_ic">
        <span>
            <md-checkbox md-block class="ada-reserve" ng-model="perf.resTkts"></md-checkbox>
        </span>
        <span class="cs-ada-label">Only reserve tickets next to each other</span>
      </md-input-container>
    </div>
  </div>
</div>

2 个答案:

答案 0 :(得分:1)

解决方案1 ​​

perf.resTkts初始化为true:

<md-checkbox md-block ng-model="perf.resTkts" ng-init="perf.resTkts = true"></md-checkbox>

解决方案2

使用ng-checked

<md-checkbox md-block ng-model="perf.resTkts" ng-checked="true"></md-checkbox>

答案 1 :(得分:1)

  

ng-checked:如果此表达式评估为真实,则“已检查”&#39; css类被添加到复选框,它将显示为已选中

<md-checkbox md-block class="ada-reserve" ng-checked="perf.resTkts" ng-model="perf.resTkts"></md-checkbox>
  

默认设置perf.resTkts = true

 <md-checkbox md-block class="ada-reserve" ng-checked="true" ng-model="perf.resTkts"></md-checkbox>