前端 簡單購物車遇到的問題總結

2021-09-27 13:24:29 字數 2318 閱讀 8541

如何獲取總價錢

鍵盤改寫商品數量

你會發現在**中我們看到的金額是這樣的。

然而,當勾選專案後,如果你選擇乙個產品,那麼最後的總價可以是沒有進行任何變動的,但當你勾選更多的時候,前端要將資料進行轉換並計算出總價,這進行了幾次轉化。

那麼,如何一步一步實現呢。

如何去掉「¥」符號。

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。如...