如何在JavaScript中为销售价格加税和交易

时间:2019-06-12 02:25:58

标签: javascript tax

我的项目是创建一个销售笔,铅笔和橡皮的网站。我需要帮助计算税金并增加交易和运输成本。如果住在萨斯喀彻温省没有运费,则税率为5%,如果他们花费至少30澳元,则可享受5澳元的税后优惠。如果他们住在艾伯塔省,则需要支付2澳元的运输费用,税额为5%,没有交易。如果他们住在曼尼托巴省,则需要支付2美元的运费,税额为6%,因此没有交易。

我尝试过if语句,但是什么也没有出现。我该如何调试呢?

function updateCartTotal() {
  var cartItemContainer = document.getElementsByClassName('cart-items')[0]
  var cartRows = cartItemContainer.getElementsByClassName('cart-row')
  var order_total = 0

  for (var i = 0; i < cartRows.length; i++) {
    var cartRow = cartRows[i]
    var priceElement = cartRow.getElementsByClassName('cart-price')[0]
    var quantityElement = cartRow.getElementsByClassName('cart-quantity-input')[0]
    var price = parseFloat(priceElement.innerText.replace('$', ''))
    var quantity = quantityElement.value
    order_total = order_total + (price * quantity)
  }

  order_total = Math.round(order_total * 100) / 100
  document.getElementsByClassName('cart-total-price')[0].innerText = '$' + order_total

}
<select id="province">
  <option value="saskatchewan">Saskatchewan</option>
  <option value="alberta">Alberta</option>
  <option value="manitoba">Manitoba</option>
</select>

我希望它将显示所有内容

1 个答案:

答案 0 :(得分:1)

我看到你在问一个概念性的问题。

我可以通过将数据属性添加到您的选择下拉列表中来实现。然后使用简单的选择更改功能获取值,并将其集成到价格方程中。

您可以在此处了解有关数据属性的信息:https://www.w3schools.com/tags/att_global_data.asphttps://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes

1)添加数据属性

<select id="province">
  <option value="saskatchewan" data-shipping-cost="0" data-tax="0.05" data-deal-limiter="30" data-deal-coupon="5'>Saskatchewan</option>
  ...
</select>

2)获取所选值(请注意camel数据属性的访问模式)

document.getElementById("province").addEventListener("change", function() {

    const select = document.getElementById("province"),
          selectedProvince = select.options[select.selectedIndex],
          shippingCost = selectedProvince.dataset.shippingCost ,
          tax = selectedProvince.dataset.tax,
          dealLimiter = selectedProvince.dataset.dealLimiter,
          dealCoupon = selectedProvince.dataset.dealCoupon;

});

3)集成到您的方程式中

您可以自己完成此部分;我教钓鱼,我不给鱼。 (提示:涉及一个if语句)。