2017-03-22 67 views
1

我有下面的复选框,它位于ng-repeat中,默认情况下应该始终选中此复选框。我遇到的问题是,我可以将它设置为在控制器范围内进行检查,但不在项目(perf)范围内进行检查。所以,如果我将它设置在控制器范围内,如果未选中它,则所有项目(perfs)都将取消选中。顺便说一句,从我遇到的所有示例显示复选框最初是基于项目数组中的值,我没有。在ng-repeat中设置复选框以默认选中

<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> 
+0

是的,但那么你不能取消选中它。我想... – Marty

回答

1

溶液1

初始化perf.resTkts为真:

<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像冠军一样工作。 – Marty

1

NG-检查:如果该表达式评估为truthy中,“MD-检查” CSS类被添加到复选框,它就会出现检查

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

组perf.resTkts为默认=真

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