javascript - Laravel 使用 Ajax 从购物车中删除

标签 javascript php jquery html laravel

我想使用Ajax从购物车中删除,我添加没有问题,但是当我有很多项目并且可能需要一项一项删除时,如何在不刷新页面的情况下删除,我从删除功能传递html在 Controller 中查看 Blade ,因此当我第一次进入该页面时,它会删除,但删除一个项目后无法删除更多项目

 <script>
 $(function(){ 
  $('.remove_item').on("click", function () { 
  var id = $(this).data('id'); 
  $.ajax({
         type: 'DELETE',
         url: "cart/"+ id,  
         data: {'_token': $('input[name=_token]').val()},
         success: function (data) {
           $('#cart_product').html(data);        
         }               
    });
   });
 });
</script>

在 Controller 中删除

public function destroy($id)
{
     Cart::remove($id);
     $products = Cart::content();
     foreach($products as $Product){

     echo '<div class="OrderItem_root styles_base styles_spacing-base">
           <div class="OrderItem_quantity styles_just-right styles_base 
           styles_spacing-base">'.$Product->qty.'</div>
           <div class="OrderItem_container">
           <div class="OrderItem_category"></div>
           <div class="OrderItem_itemHeader">
           <div id="titletest" class="OrderItem_name styles_just-right styles_base styles_spacing-base">'.$Product->name.'</div>
           <div id="cartprice" class="OrderItem_total">$'.$Product->price*$Product->qty.'</div>
            <input id="mycartprice" type="text" name="mycartprice" value="'.$Product->price.'"  hidden="">
         </div>
        <div>
        </div>
      <div>
     <button class="remove_item OrderItem_action Button_root" data-id="'.$Product->rowId.'" data-price="'.$Product->price*$Product->qty.'" data-qty="'.$Product->qty.'" type="submit">Remove</button>

     </div>
    </div>
   </div>';
   }
 }

最佳答案

这是因为您的元素是动态更新的,您应该再次附加事件。 请改用此代码:

     <script>
     $(function(){ 
 $(document).on('click','.remove_item', function () { 
      var id = $(this).data('id'); 
      $.ajax({
             type: 'DELETE',
             url: "cart/"+ id,  
             data: {'_token': $('input[name=_token]').val()},
             success: function (data) {
               $('#cart_product').html(data);        
             }               
        });
       });
     });
    </script>

关于javascript - Laravel 使用 Ajax 从购物车中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486393/

相关文章:

javascript - 我想创建自己的标签,例如 <store></store>、<market></market>

javascript - jQuery 父级中的每个字段

javascript - fetchPolicy 选项 : "no-cache" does not work in useQuery

php - 如何在 XAMPP for Windows 上安装 V8Js for PHP?

java - 解码 MIME(HTML+附件)

javascript - 如何在一个 View 中使用多个 ember 数据模型

php - 巴士座位预订 PHP 和 MySQL

javascript - Moment.js 如何获得一个月的星期几? (谷歌日历风格)

javascript - 通过 Struts 2 操作类从数据库填充下拉列表(使用 jtable)

javascript - 当两个元素到窗口顶部的距离相同时运行命令