我的项目是创建一个销售笔,铅笔和橡皮的网站。我需要帮助计算税金并增加交易和运输成本。如果住在萨斯喀彻温省没有运费,则税率为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>
我希望它将显示所有内容
答案 0 :(得分:1)
我看到你在问一个概念性的问题。
我可以通过将数据属性添加到您的选择下拉列表中来实现。然后使用简单的选择更改功能获取值,并将其集成到价格方程中。
您可以在此处了解有关数据属性的信息:https://www.w3schools.com/tags/att_global_data.asp和https://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语句)。