首页 > 解决方案 > Shopify AJAX - 更新订单项的总价

问题描述

我发现了如何在购物车页面上通过 AJAX 更改您的商品数量,并且我还发现了如何通过 AJAX 更新购物车总数。

我还没有发现如何在增加或减少数量时更新每个行项目的总行项目价格。

这是我到目前为止的代码(不工作)......

jQuery.getJSON('/cart.js', function(cart) { $('#line-total-{{ item.id }}').html(Shopify.formatMoney(item.line_price).replace('$','£'))})

关于我的代码有什么问题的任何提示?

如果有帮助,这也可以在按钮上单击。

标签: ajaxshopify

解决方案


您的代码包括:

jQuery.getJSON('/cart.js', function(cart) { 
  $('#line-total-{{ item.id  }}').html(Shopify.formatMoney(item.line_price).replace('$','£'))})

以上将不起作用,因为基于 Liquid 的{{ item.id }}内容将被放入页面一次,之后永远不会更改。(很可能,上面的代码包含在一个没有item在作用域中命名的 Liquid 变量的地方,所以渲染的 Javascript 会简单地读取$('#line-total-')

您需要使用cart为您的函数提供的 Javascript 对象。例如:

jQuery.getJSON('/cart.js', function(cart) { 
  for(var i=0; i<cart.items.length; i++){
    var item = cart.items[i];
    var price_element = $('#line-total-' + item.id)
    price_element.html(Shopify.formatMoney(item.line_price).replace('$','£'))})
  }
})

希望这可以帮助!


推荐阅读