ajax - Shopify AJAX - 更新订单项的总价
问题描述
我发现了如何在购物车页面上通过 AJAX 更改您的商品数量,并且我还发现了如何通过 AJAX 更新购物车总数。
我还没有发现如何在增加或减少数量时更新每个行项目的总行项目价格。
这是我到目前为止的代码(不工作)......
jQuery.getJSON('/cart.js', function(cart) { $('#line-total-{{ item.id }}').html(Shopify.formatMoney(item.line_price).replace('$','£'))})
关于我的代码有什么问题的任何提示?
如果有帮助,这也可以在按钮上单击。
解决方案
您的代码包括:
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('$','£'))})
}
})
希望这可以帮助!
推荐阅读
- python - 如何在 Python 中保存从灰度转换为 RGB 的图像?
- java - 如何用 Spring Boot 安全功能替换基本身份验证?
- ansible - 在 Ansible 中设置包版本
- python - 如何使用 matplotlib 和 numpy 将此直方图转换为点图/点图?
- postgresql - 嵌套的 SELECT 和 NOT IN 如何在 knex 中工作
- html - 不支持 flex-wrap 的旧 webkit 浏览器
- image - 如何在图像后获得“休息”
- javascript - Javascript 最大值最小值平均值
- php - xampp 的问题
- apache-spark - 跳过一个非常大的单元格镶木地板