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

私は多くのことを試してみましたし、(何もしません)私はこれを使用して値をロードしようとした運を持っていませんでした。

誰もが、それは clickに更新し、同じ方法でリフレッシュ/ページ loadにロードする方法で私を助けることができるかどうかだけで不思議
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); 
} 

ありがとうございます。

答えて

0

閉じ括弧をreadyFnに置いたように見えるので、ドキュメントレディハンドラがその機能の内側にあります。また、関数を呼び出す前にドキュメントの準備が完了するのを待っているので、ボタンをロードするときに何もする必要はありません($('#cart > button').load)。 $(function(){})$(document).ready(function(){})のためだけshorthandであることを

$(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'); 
}); 

注:このような何かを試してみてください。

+0

助けてくれてありがとう、私は将来それを注意します。私の問題を解決しなかったが、有益な情報をありがとう! – Beth

関連する問題