2016-10-07 4 views
0

ng-repeatから生成されたテーブルがあります。各行にはチェックボックスがあります。私は、その背景色を変更するためにチェックされている行が欲しいです。私はng-classを使って試していましたが、助けてくれませんでした。一つのチェックボックスを選択すると、すべての行が変更されました。私は間違いを理解していますが、解決方法はわかりません。anglejsで選択されていないチェックされた行の背景色を変更します

これは、これは私のコントローラ

$scope.countChecked = function(index){ 
     var count = 0; 
     angular.forEach($scope.jobs, function(job){ 
      if (job.checked) { 
       count++; 
       $scope.myclass='selected'; 

      } 
     }); 
    return count; 
    } 

である私のテーブル

<table > 
     <tr> 
     <th>Select</th> 
     <th>Job List</th> 
     <th>Next Firing</th> 
     </tr> 
     <tr ng-repeat="x in jobs" ng-class-odd="'odd'" ng-class-even="'even'" ng-class="myclass"> 
      <td style="width: 247px; "><input type="checkbox" ng-model="x.checked" ng-click=countChecked($index)></td> 
      <td style="width: 247px; ">{{ x.Name }}</td> 
      <td style="width: 247px; ">{{ x.ID }}</td> 
     </tr> 
     </table> 

である私は正常に動作している別の目的のための「カウント」が必要です。 jobがそうのように選択されたときに

この

は、CSS

.selected{ 
    background-color: #DEB887; 

    } 

答えて

3

あなたはそれを特定のクラスを与えることngClassディレクティブを使用することができますに選択される:

<ANY ... ng-class="{ 'selected': x.checked }"> 
    ... 
</ANY> 
+0

はええ、ちょっとそれはworked..thnksトン。だから私の愚か。私はチェックボックスモデルが後で定義されると思ったので、うまくいきませんでした。 – Tedsville

+0

それは後で定義されますが、実際にスコープの状態を反映するために、anglejsはテンプレートを定義するときにそれを再描画します。 –

関連する問題