2017-08-19 61 views
1
<div id="result" class="cart-content"> 
[_divmenu] 
<div id="cartid" class="cart-one-goods"> 
    <img src="../templates/img/[_image]" alt="товар" class="cart-img-goods"> 
    <h3 class="cart-name-goods">[_name]</h3> 
    <button class="cart-btn btn-plus" data-id=[_id] data-qu=[_quantity]></button> 
    <input class="cart-number-goods" value="[_quantity]" type="text"> 
    <button class="cart-btn btn-minus" data-id=[_id] data-qu=[_quantity]></button> 
    <p class="cart-price-goods">[_summary] р.</p> 
    <button class="cart-btn cart-delete" data-id=[_id]></button> 
</div> 
[_divmenu] 

如何重複刷新div而不重複?

$(document).ready(function(){ 
    $(".cart-one-goods").on('click', '.btn-plus', function(){ 
     id = $(this).attr("data-id"); 
     qu = $(this).attr("data-qu"); 
     $.ajax({ 
      type: "POST", 
      url: '../moduls/plus-minus-cart.php', 
      data: { 
       idtovara: id, 
       quant: qu, 
       plus: 'plus' 
      }, 
      success: function(data) { 
       $("#result").load(location.href+ ' #cartid'); 
      } 
     }); 
    }); 
}); 

在格 '結果' 按鈕,點擊更新數據只有一次之後。

如何更改此代碼以每次單擊按鈕更新div?

+0

https://stackoverflow.com/a/8512671/8448942 – devadinesh

回答

0

基於參考: - Understanding Event Delegation jQuery

由於cart-one-goods DIV裏面result容器,這就是爲什麼第一次刷新後它不工作

做象下面這樣: -

$(".cart-content").on('click', '.cart-one-goods .btn-plus', function(){ 
    id = $(this).attr("data-id"); 
    qu = $(this).attr("data-qu"); 
    $.ajax({ 
     type: "POST", 
     url: '../moduls/plus-minus-cart.php', 
     data: { 
      idtovara: id, 
      quant: qu, 
      plus: 'plus' 
     }, 
     success: function(data) { 
       $("#result").load(location.href+ ' #cartid'); 
     } 
    }); 
}); 

注: -

如果$(".cart-content").on('click', '.btn-plus', function(){不起作用,請嘗試$(document).on('click', '.btn-plus', function(){

1

那麼既然你提到一個childSelector.btn-plus功能將無法正常工作,第二次爲負荷機能的研究與.btn-plus類元素後不存在於它。所以你可以提到另外一個childSelector,它在加載完成後保持不變,或者完全沒有。

0

使用jQuery的ajax()方法,並在每個呼叫使用document.getElementById(divid)innerHTML = "" 清除DIV

$(document).ready(function(){ 
$(".cart-one-goods").on('click', '.btn-plus', function(){ 
$.ajax(
    id = $(this).attr("data-id"); 
    qu = $(this).attr("data-qu"); 
    $.ajax({ 
     type: "POST", 
     url: '../moduls/plus-minus-cart.php', 
     data: { 
      idtovara: id, 
      quant: qu, 
      plus: 'plus' 
     }, 
     success: function(data) { 
       $("#result").load(location.href+ ' #cartid'); 
     } 
    }); 
},5000) 
}); 

它將刷新烏爾格在每5秒