2017-03-22 106 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>