我现在面临的问题是 jQuery addClass 在 ng-repeat 下不起作用。
下面的代码来自我的部分页面。我试图在用户选择它时突出显示图像,不幸的是它没有被选中,因为我放置在 ng-repeat div(第一个 span3 div)下。另一方面,我可以选择带有第二个 span3 div 的图像 - 没有 ng-repeat 的动态(仅加载一个图像)。两者都使用相同的 jQuery 脚本(也发布在下面)。
是否有任何替代方法来执行任务
任何帮助将不胜感激:) 非常感谢
部分页面代码:
<div class="item active">
<!-- Three columns of text below the carousel -->
<div class="container">
<div class="row" >
<div class="span12">
<div class="span3" ng-repeat="path in paths.paths | limitTo:3">
<div>
<label >
<input type="radio" ng-click="update_path_progress(path.id)" name="optionsRadios" ng-model="$parent.pathid" id="{{path.id}}" value="{{path.id}}" >
<input class="well"type="image" ng-src="img/language/{{path.description.split(' ').join('_')}}.png" alt="" id="pathImg"/>
<h6>{{path.name}}</h6>
</label>
</div>
</div>
<div class="span3">
<label >
<input type="radio" ng-click="update_path_progress(path.id)" name="optionsRadios" ng-model="$parent.pathid" id="{{path.id}}" value="{{path.id}}" >
<input class="well"type="image" ng-src="img/language/{{path.description.split(' ').join('_')}}.png" alt="" id="pathImg"/>
<h6>{{path.name}}</h6>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
<a class="left carousel-control" data-target="#myCarousel" data-slide="prev">‹</a>
<a class="right carousel-control" data-target="#myCarousel" data-slide="next">›</a>
</div>
index.html(jQuery 脚本)
<script type='text/javascript'>
$(window).load(function(){
$('#myCarousel input:radio').addClass('input_hidden');
$('#myCarousel input:image').click(function() {
$('#myCarousel input:image').removeClass('selected');
$(this).addClass('selected');
});
});
大家好,
我接受了@rGil 的建议,并修正了我的上述错误。但是我现在面临一个小错误。我在下面发布我的代码。
$scope.addColor=function(){
$('#myCarousel input:radio').addClass('input_hidden');
$('#myCarousel input:image').click(function() {
$('#myCarousel input:image').removeClass('selected');
$(this).addClass('selected');
});
}
上面的 JS 代码,从第二次选择图像开始就可以正常工作。但未能在第一次点击时工作。我不确定到底是什么阻止了它!我非常感谢大家的贡献。只要它让我的希望和激情继续我的学习之旅。
再次提前谢谢。