2017-04-10 120 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