自动更新价格

时间:2018-02-25 23:26:35

标签: jquery

我有一个动态表格,其中包含的价格可能因使用过滤器而改变。

一旦页面加载,我需要获取跨度的内容并将该数字乘以每个4.

我不明白当用户过滤掉表格时如何保持价格动态。 例如,如果当前跨度为100英镑(人均价格)并且我运行代码它将自动更新为400英镑,但如果我过滤掉表格或刷新页面,并且每人的价格变为50英镑,代码将返回(£400x4)而不是采用新的金额(£50 * 4)

我希望有人可以帮助我。

这是脚本文件:

function updateGrid() {
  $(".grid_3").each(function(){
    var pp = $(this).find(".latest-offer-price").text();
    var price = Number(pp.substring(1, pp.length));
    var familyPrice = "£" + price * 4;
    $(this).find(".latest-offer-price").text(familyPrice);
   })
 }
$(document).ajaxSuccess(function(){
  setTimeout(updateGrid,30)
});
updateGrid();`

这是它的html:

`<div class="grid_3 alpha omega selected">
  <div>
   <p class="latest-type">
     <span class="latest-offer-price">£100</span> 
     <span>pp</span> 
   </p>
  </div>
</div>`

1 个答案:

答案 0 :(得分:0)

您的代码行为没有任何问题。 当您运行更新价格的功能时,只需用新的替换前一个。然后它完全一样。

&#13;
&#13;
function updateGrid() {
  $(".grid_3").each(function(){
    var pp = $(this).find(".latest-offer-price").text();
    var price = Number(pp.substring(1, pp.length));
    var familyPrice = "£" + price * 4;
    $(this).find(".latest-offer-price").text(familyPrice);
   })
 }
 
 $('#change').click(function(){
  $('.latest-offer-price').text("£" + 50);
  updateGrid();
 });

updateGrid();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="grid_3 alpha omega selected">
  <div>
   <p class="latest-type">
     <span class="latest-offer-price">£100</span> 
     <span>pp</span> 
   </p>
  </div>
</div>

<button id="change">Fake ajax: Change to 50</button>
&#13;
&#13;
&#13;