我有這個購物車腳本,我正在嘗試修改。麻煩的是,每當我嘗試刪除購物車中的多個商品時,我都會得到一個負值。當所有項目被刪除時,購物車永遠不會歸零。我可以添加項目罰款。Javascript:從購物車中減去商品的結果爲負值
下面是此功能的代碼段。完整的代碼在小提琴中,因爲通過向您展示我遇到的問題的示例更容易解釋。
function addToCart(id, container_id, corTitle, corPrice, credit_hrs) {
var amount = parseFloat(corPrice);
var hours = parseFloat(credit_hrs);
var remove = "<button type=\"button\" class=\"remove\"></button>";
var selected_product = "<div class=\"item \">"
+ "<div class=\"title\">"
+"<div class=\"remove\"><button type=\"button\" title=\"remove from cart\" class=\"remove-from-cart\" alt=\"Remove Course\" ></button></div>"
+ corTitle
+ " for $" + corPrice
+ "</div>"
+ "<input name=\"containerId\" value=\"" + container_id
+ "\" type=\"hidden\">" + "</div>";
$(selected_product).insertBefore("#subtotals");
register("add", amount, hours);
$(".remove-from-cart").click(function() {
$(this).parents(".item").slideUp("slow");
console.log(this);
register("subtract", amount, hours);
$(toId(id)).removeAttr("disabled").fadeTo("slow", 1);
$(this).parents(".item").remove();
});
}
這個問題似乎是附着在刪除按鈕的click
處理程序被調用多次被點擊刪除按鈕時。重複調用register("subtract", amount, hours)
會導致總數變爲負值。我怎樣才能解決這個問題?
凡大部作用域? – Maess