Ändern der Farbe eines div auf ng-klicken und zurücksetzen der rest alle in Ihren normalen Farben

Ich versuche, ändern Sie die Farbe eines div auf click der ng-click. Ich habe getan, die Hälfte der Arbeit. Ich bin in der Lage, schalten Sie die Farbe der div, wenn geklickt, aber ich brauche alle anderen divs, um wieder Ihre ursprüngliche Farbe. Es sollte nicht mehr als ein div, dass ist nicht seine ursprüngliche Farbe.

HTML-code-

<div ng-controller="MyCtrl">
    Hello, {{name}}!
    <div ng-init="item.isyellow = false" ng-repeat="item in realName" 
         ng-class="{yellow : item.isyellow}"  ng-class-odd="'odd'" ng-class-even="'even'" 
         ng-click="item.isyellow =!item.isyellow"  style="cursor:pointer">
        {{item.id}}
        {{item.name}}
    </div>
</div>

CSS-

.odd{
    background-color:white;  
}
.even{  
     background-color:grey;
}
.yellow{
     background-color:yellow;
}

Js-

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
    $scope.name = 'Superhero';
    $scope.realName=[{"id":1,"name":"A"},{"id":2,"name":"B"},{"id":3,"name":"c"},{"id":4,"name":"D"},{"id":5,"name":"E"},{"id":6,"name":"F"}];   
}

Demo auf JsFiddle

InformationsquelleAutor RHUL | 2015-09-12

Schreibe einen Kommentar