如何从foreach循环中分离出循环?

时间:2017-02-21 14:56:52

标签: javascript html loops for-loop foreach

   @foreach($cart_items as $cart_item)
 @for($i=1;$i<count($cart_items);$i++)

                <script>$(document).ready(function(c) {
                        $('.close{{$i}}').on('click', function(c){
                            $('.cart-header{{$i}}').fadeOut('slow', function(c){
                                $('.cart-header{{$i}}').remove();
                            });
                        });
                    });
                </script>




            <div class="cart-header{{$i}}">
               <div class="close{{$i}}"></div>
                    <div class="cart-sec simpleCart_shelfItem">
                        <div class="cart-item cyc">
                            <img src="{{asset(env('THEME'))}}/images/pic1.jpg" class="img-responsive" alt=""/>
                        </div>
                        <div class="cart-item-info">
                            <h3><a href="#">{{$cart_item->name}}</a><span>Price: {{$cart_item->price}}</span></h3>
                            <ul class="qty">
                                <li><p>Qty : {{$cart_item->qty}}</p></li>
                                <li><p></p></li>
                            </ul>
                            <div class="delivery">
                                <p></p>
                                <span></span>
                                <div class="clearfix"></div>
                            </div>
                        </div>
                        <div class="clearfix"></div>
                    </div>
                </div>
 @endfor
 @endforeach

所以,当我按下关闭按钮时,js会删除带有项目的div。我需要更改列表中每个项目的类,但是,由于foreach循环,for循环运行foreach循环中的项目。我怎么能只运行一次循环?我希望你理解我的意思(:

1 个答案:

答案 0 :(得分:0)

将@for循环放在$(document).ready或更好地重写代码 - 删除@for,从$i.close删除.cart-header并在文档准备就绪中:

$('.close').on('click', function() {
 $(this).children(".cart-header").fadeOut("slow").remove();
}