[英]Updating total price in java script
嗨,大家好,我有一個簡單的問題,我不是JavaScript方面的專家,但我想知道如何更新總數。 我有一個按鈕,我可以將商品添加到購物車,並且可以更新,所以我使用相同的方法嘗試更新總價格,但是它只能運行一次,然后就不再添加了。
因此,當我第一次添加商品時,購物車更新+1,價格升至565
我第二次更新購物車時選擇+2,這很完美,但當價格應達到1130時價格保持在565。
在這件事上的任何幫助將是巨大的
HTML:
<a class="shopping-cart" href="#"><i class="fa fa-shopping-cart"></i> <span class="cart-badge">0</span></a>
<p class="cartPrice">0.00 kr</p><input id="search-submit" type="submit">
使用Javascript:
var currentItems = 0;
var cartPrice = 565.00;
$(document).ready(function(){
$(".add-to-cart").click(function(){
currentItems++;
cartPrice + cartPrice;
$(".cart-badge").text(currentItems);
$(".cartPrice").text(cartPrice);
});
});
這樣您就可以看到數量更新完美,但總價只能使用一次
再次感謝
編輯:
我剛試過cartPrice += cartPrice
; 但是每次都翻倍
您的代碼的明顯問題是該行:
cartPrice + cartPrice;
這不會做任何事情,因為您沒有分配結果。 您將必須執行以下任一操作:
cartPrice += cartPrice;
cartPrice = cartPrice + cartPrice;
但是,這將給您帶來麻煩,因為您最終每次都會使價格加倍。
解決方案是根本不要更改cartPrice
,否則您將無法知道每個項目的成本以進行后續計算。
而是創建一個局部變量,然后根據項目數*項目成本進行計算。 像這樣:
var currentItems = 0;
var cartPrice = 565.00;
$(document).ready(function(){
$(".add-to-cart").click(function(){
currentItems++;
var totalPrice = currentItems * cartPrice;
$(".cart-badge").text(currentItems);
$(".cartPrice").text(totalPrice);
});
});
基元是不可變的。 您必須保持新值的覆蓋。
cartPrice + cartPrice;
這有兩種錯誤。 它不會更新,因為您沒有重新分配,然后保持購物車價格翻倍。
它應該是
cartPrice = currentItems * cartPrice;
實際上,當按下.add-to-cart時,它會在cartPrice中調用並執行遞增操作,但是第二次之后它將重新初始化相同的內容,這就是為什么第二次不會遞增的原因。
var currentItems = 0;
var cartPrice = 565.00;
var i = 0;
$(文件)。就緒(函數(){
$(".add-to-cart").click(function(){ currentItems++; if(i == 1) { var Price = $(".cartPrice").text(); cartPrice=Number(Price) + 565 ; $(".cartPrice").text(cartPrice); $(".cart-badge").text(currentItems); } else { cartPrice + cartPrice; $(".cart-badge").text(currentItems); $(".cartPrice").text(cartPrice); i=1; } }); });
第一次使用您的默認值,然后從
$( “cartPrice。”)文本()。
它的工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.