2017-04-10 87 views
0

目前,当点击“添加到购物车”按钮时,以下JavaScript会更新购物车的值click更新页面加载

我试图在页面加载或刷新时在pageload上更新值。

目前的价值只在click更新:

<script type="text/javascript"><!-- 
$('#button-cart').on('click', function() { 
    $.ajax({ 
     url: 'index.php?route=checkout/cart/add', 
     type: 'post', 
     data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), 
     dataType: 'json', 
     beforeSend: function() { 
      $('#button-cart').button('loading'); 
     }, 
     complete: function() { 
      $('#button-cart').button('reset'); 
     }, 
     success: function(json) { 
      $('.alert, .text-danger').remove(); 
      $('.form-group').removeClass('has-error'); 

      if (json['success']) { 
       $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>'); 

       $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); 

       $('html, body').animate({ scrollTop: 0 }, 'slow'); 

       $('#cart > ul').load('index.php?route=common/cart/info ul li'); 
      } 
     }, 
    }); 
}); 
//--></script> 

我已经尝试了很多东西,有没有运气我曾尝试使用这个(这什么都不做)加载的值:

function readyFn(jQuery) { 
    $('#cart > button').load(function() { 

       $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>'); 

       $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); 

       $('html, body').animate({ scrollTop: 0 }, 'slow'); 

       $('#cart > ul').load('index.php?route=common/cart/info ul li'); 


}); 

$(document).ready(readyFn); 
// or: 
$(window).on("load", readyFn); 
} 

只是想知道如果有人能帮助我如何在它click更新相同的方式刷新/页load上加载。

在此先感谢。

回答

0

您似乎错过了readyFn上的右大括号,因此文档就绪处理程序位于函数内部。此外,当按钮加载时,您不需要执行任何操作($('#cart > button').load),因为您在调用该函数之前已经在等待文档准备就绪。尝试是这样的:

$(function() { 
    $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>'); 
    $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); 
    $('html, body').animate({ scrollTop: 0 }, 'slow'); 
    $('#cart > ul').load('index.php?route=common/cart/info ul li'); 
}); 

注意$(function(){})只是shorthand$(document).ready(function(){})

+0

感谢您的帮助,我会注意到未来。没有解决我的问题,但有用的信息谢谢! – Beth