如何獲取總價錢
鍵盤改寫商品數量
你會發現在**中我們看到的金額是這樣的。
然而,當勾選專案後,如果你選擇乙個產品,那麼最後的總價可以是沒有進行任何變動的,但當你勾選更多的時候,前端要將資料進行轉換並計算出總價,這進行了幾次轉化。
那麼,如何一步一步實現呢。
如何去掉「¥」符號。
function
convertnumber
(price)
這裡用到了replace函式。
price=price.
replace
(/\¥|\,/g,''
);
replace(/\¥|,/g,』』)意思就是將傳進來的字串裡的「¥」和「,」去掉「。
如何將字串轉化為浮點數
price=
parsefloat
(price)
.tofixed(2
);
這裡是將字串轉化為浮點數並保留小數點後兩位。
下面是獲取**的函式
function
getprice()
price=$(
".cartproductitemsmallsumprice[oiid="
+oiid+
"]")
.text()
;//獲取**
price=
convertnumber
(price)
;//轉換成浮點數以便於計算
sumprice=
parsefloat
(sumprice)
+parsefloat
(price)
; sumprice=
parsefloat
(sumprice)
.tofixed(2
);creatsumprice
(sumprice,sumnum);}})}
對獲取金額的運算問題
上面函式中的creatsumprice(sumprice,sumnum)函式
function
creatsumprice
(sumprice,summumber)
該函式是將最後又以」¥「金額展現在使用者面前。
是不是想說,不是有個數量相乘嗎?怎麼從頭都沒有看到乘法。
原因在這兒。
當選中乙個商品並且數量時
這個**就會變化,**實現如下
var num=$(
".orderitemnumbersetting[pid="
+pid+
"]")
.val()
;/獲取到選中商品的數量
num =
parseint
(num)
;//對於數量的一系列判定if(
isnan
(num))if
(num<=0)
num =1;
if(num>stock)
num = stock;$(
".orderitemnumbersetting[pid="
+pid+
"]")
.val
(num)
; price=
convertnumber
(price)
*num;
那麼在最後的遍歷被選中的商品,直接相加後面的商品總金額就得到最後需要付的總金額~
超過庫存怎麼辦?
使用者輸入0怎麼辦?
使用者輸入字串怎麼辦?
num =
parseint
(num);if
(isnan
(num))if
(num<=0)
num =1;
if(num>stock)
num = stock;$(
".orderitemnumbersetting[pid="
+pid+
"]")
.val
(num)
;
以上**就是解決如上問題,最後將使用者輸入的錯誤資訊進行改寫。 簡單購物車
簡單購物車,要求如下 實現列印商品詳細資訊,使用者輸入商品名和購買個數,則將商品名,購買個數加入購物列表,如果輸入為空或其他非法輸入則要求使用者重新輸入msg dic good l while true for k in msg dic print k,msg dic k name input 商品...
簡單前端vue購物車案例
doctype html html lang en head meta charset utf 8 meta name viewport content width device width,initial scale 1.0 title 簡單購物車 title head style table t...
購物車總結
我們當前實現的購物車是以cookie的方式實現的,這樣做的優點有以下兩點 實現簡單 不需要占用服務端儲存空間 缺點也很明顯,主要有以下兩點 儲存容量有限 cookie中儲存的資料量畢竟是比較有限的 更換裝置後,購物車資訊不能同步 要求使用者登入。把購物車商品列表儲存到資料庫中。推薦使用redis。如...