2016-05-31 6 views
0

WebServiceからng-repeatで表示され、各ボチャに関連するチェックボックスがあります。特定のチェックボックスをオンにすると、ボチャの価格が合計価格を差し引くと、問題の問題は:「合計価格が0になると、チェックされていないチェックボックスを無効にしなければならない」ということです。チェックボックスをすべて無効にすることができますが、チェックボックスを有効にして、 。AngularJS条件付きのng-repeatのチェックボックスをオフにします。

HTML:

<div class="item" ng-class="{active:!$index}" ng-repeat="slide in MesAvoirs | limitTo: slideLength track by $index"> 
    <div class="mes_avoires" ng-repeat="a in MesAvoirs | startFrom: ($index*5) | limitTo: 5"> 
     <input class="mes_avoires_checkbox" type="checkbox" ng-model="check" ng-change="avoirPrixCal($index,check,a)" id="chBx-{{$index}}" ng-disabled="uncheckVar" /> 
     <div class="left_av"> 
      <em>{{"MonProfilMesAvoirs.Num_Avoir" | translate}} {{a.NumeroAvoir}}</em> 
      <strong>{{a.Montant}} {{"Globale.Devise" | translate}}</strong> 
     </div> 
     <div class="right_av"> 
      <em translate="MonProfilMesAvoirs.Valide_till"></em> 
      <strong>{{a.DateValiditeJ }} {{a.DateValiditeM}} {{a.DateValiditeY}}</strong> 
     </div> 
    </div> 
</div> 

答えて

1

私はあなたの質問を理解していれば、あなたが取得するためにモデルを使用していないのはなぜ総価格が0

に等しいときに未チェックのチェックボックスを無効にしたいですチェックボックスの状態(チェックされているかチェックされていないか)を確認してみてください:

<input type="checkbox" ng-model="yourCtrl.checked[your_checkbox_number]" ng-disable="(yourCtrl.totalPrice <= 0 && !yourCtrl.checked[your_checkbox_number])/> 
+0

チェックボックスをオンにしてもすべてのチェックボックスが無効になっています。あなたが持っている場合はチェックされていないものだけを無効にするソリューション –

+0

はい、あなたのngモデルでチェックボックスで1つの変数を持つ必要があります。 配列を使用して、チェックボックス番号と一致する配列のインデックスにモデルを設定することです。ng-model = "yourCtrl.checked [your_checkbox_number]" ng-disable = "(yourCtrl.totalPrice <= 0 &&!<入力クラス= "mes_avoires_checkbox"タイプ= "チェックボックス" ng-model = "確認" ng-change = "avoirPrixCal($インデックス、チェック、a)" ID: –

+0

= "chBx - {{$ index}}" ng-disabled = "(Topay <= 0 &&!check)" /> –

関連する問題