根据购物车更改更新代码

时间:2018-02-14 20:52:45

标签: jquery ajax shopify

我正在使用cart.js,并且已经在我的商店上使用了很长时间。我正在根据cart.total.price计算免费送货。它应该很简单,但我不能根据购物车更新来更新#counter和cart.total_price。

{% assign some_number = 50000 | minus: cart.total_price %}
<div data-cart-view>
<span class="cart-count" rv-show="cart.total_price | gt 50000">You qualify for free delivery!</span>
<span class="cart-count" rv-show="cart.total_price | lt 50000">If you spend <span id="counter">{{ 50000 | minus: cart.total_price | money }}</span> more you will qualify for free delivery.</span>
</div>

如何根据对购物车所做的更改来更新#counter?我尝试过这样的事情:

<script type="text/javascript">
            $(document).on('cart.requestComplete', function(event, cart) {
                $('#counter').html();
            });
</script>

2 个答案:

答案 0 :(得分:1)

这是你的液体的订购。你的代码:

{{ 50000 | minus: cart.total_price | money }}

读取为50000,减去格式为$ xx.yy的内容。而是首先进行减号然后应用货币过滤器。作为猜测,分两步:

{% assign some_number = 50000 | minus: cart.total_price %}
<span>{{ some_number | money }}</span>

答案 1 :(得分:0)

你正在混合范式。

您的初始代码块是流动的。当页面加载时,它将在服务器端处理。

你的第二个块是Javascript。当某个进程更新购物车时,它会运行客户端。

你可以:

  • 使用javascript格式化和更新您的消息(取决于您网站的受众群体,这也是用户友好的简单内容)
  • 使用javascript来触发页面重新加载(最简单的事情,但为什么不只是提交你的添加到购物车并让自然页面加载完成工作?)
  • 使用javascript拉一个片段,使用空布局包裹在模板中,用格式化服务器端的值替换钱。 (实际上可行,但我不确定我是否会为这么简单的事情做这件事)