私のデータのフィールドが正しく色付けされていない理由がわかりません。私は論理より単純なものを使って、緑色か赤色のngクラスを割り当てました。私はデバッグ行を追加して、関数内で値が正しいことを確認し、ブール値が正しいことを確認しましたが、メインページの項目は「ランダムに」誤って色付けされています。助けて?ng-repeatは着色要素が正しくありませんか?
同じ結果を持つparseInt()などのように、値にいくつかの異なるものを試しました。以下のようになり、関係なく、私は関数の中に置く何それは私が問題を作成している感じ
<table>
<th><input class="search" type="text" ng-model="searchKey" placeholder="Character" ng-change="setClickedRow(-1)"></th>
<th ng-click="setSort('pval1')">
<div ng-app="KIdash" ng-controller="controller">
Total Matches: {{TotalMatchesFunc()}}
</div>
</th>
<th ng-click="setSort('pval2')">Wins</th>
<th ng-click="setSort('pval3')">Losses</th>
<tbody ng-repeat="ps in PlayerStats | orderBy: sortKey | filter:searchKey">
<tr ng-class="{'main-row-selected': $index == selectedRow,'main-row': $index != selectedRow}" ng-click="setClickedRow($index)">
<td>{{ps.name}}</td>
<td>{{ps.pval1}}</td>
<!-- *** THIS IS THE PART THAT ISNT WORKING CORRECTLY *** -->
<td ng-class="{'green': GreaterWins({{$index}}),'red': !GreaterWins({{$index}})}">{{ps.pval2}}</td>
<td>{{ps.pval3}}</td>
</tr>
<!-- *** COULD THIS SECOND FUNCTION CALL BE POLLUTING MY RESULTS? *** -->
<tr ng-class="{'extra-row-green': GreaterWins({{$index}}),'extra-row-red': !GreaterWins({{$index}})}" ng-show="selectedRow == $index">
<td>Detail: {{ps.detail_p1}}</td>
<td>Detail: {{ps.detail_p2}}</td>
<td>Detail: {{ps.detail_p3}}</td>
<td>Detail: {{ps.detail_p4}}</td>
</tr>
</tbody>
</table>
$scope.GreaterWins = function(z) {
console.log("bool "
+ Boolean($scope.PlayerStats[z].pval2 > $scope.PlayerStats[z].pval3)
+ " "
+ $scope.PlayerStats[z].pval2 + "vs" + $scope.PlayerStats[z].pval3);
return Boolean($scope.PlayerStats[z].pval2 > $scope.PlayerStats[z].pval3));
};
も試み:
問題はorderByの周りを回っているようです:sortKey –
あなたを助けるかもしれないhttp://stackoverflow.com/questions/36185017/selected-table-row-angular-js/36185644#36185644 –