2016-07-26 3 views
0

私は非常に奇妙な問題を抱えています。私は、複数の要素のクラスを変更するためにJqueryを使用しています。私はjs側のforループでそれをやっています。要素をクリックすると、クラスが「選択された」と表示され、背景が変更されます。しかし、それは実際にはビューを変更するものではありません。jqueryでクラスを変更しましたが、HTMLビューでは反映されません

奇妙なことは、私がビュー側で変更を見ることができないということですが、私が要素を慰めたとき、それはクラスを持っていました。

HTML側

<li id="1469532600" class="slot ng-binding ng-scope time-slot" ng-repeat="slot in timeSlots">17:00</li> 

慰めELEMENT

enter image description here

私は厳密解を見つけることができないのです...

+0

CSSとJavaScriptコードを投稿してください。あなたの問題を再現するフィドルを作成する方がいいです。なぜJQueryを使ってクラスを試してみるのですか? – Manish

答えて

0

あなたは次のようにクラス名を変更するには、角度の方法を使用することができます

<!DOCTYPE html> 
 
<html> 
 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 
<body> 
 
<style> 
 
.selected{color:green;} 
 
</style> 
 
<script> 
 
var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope) { 
 
    $scope.names=[ 
 
{name:'Jani',country:'Norway'}, 
 
{name:'Hege',country:'Sweden'}, 
 
{name:'Kai',country:'Denmark'}]; 
 

 
$scope.makeSelect = function(index){ 
 
\t 
 
    $scope.names[index].selected = true; 
 
} 
 
}); 
 

 

 
</script> 
 

 
<div ng-app="myApp" ng-controller="myCtrl" ng-init=""> 
 

 
<p>Looping with objects:</p> 
 
<ul> 
 
    <li ng-class="names[$index].selected==true ? 'selected':''" ng-repeat="x in names" ng-click="makeSelect($index);"> 
 
    {{ x.name + ', ' + x.country + '------'+x.selected }}</li> 
 
</ul> 
 

 
</div> 
 

 
</body> 
 
</html>

関連する問題