1

我现在面临的问题是 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">&lsaquo;</a>
    <a class="right carousel-control" data-target="#myCarousel" data-slide="next">&rsaquo;</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 代码,从第二次选择图像开始就可以正常工作。但未能在第一次点击时工作。我不确定到底是什么阻止了它!我非常感谢大家的贡献。只要它让我的希望和激情继续我的学习之旅。

再次提前谢谢。

4

0 回答 0