2012-02-07 28 views
0

我在編輯產品計算的自定義計算器時遇到問題。自定義計算器的Javascript數學問題

我創建了一個的jsfiddle here

使用計算按鈕「不是現在訂購」

客戶選擇只1場來計算成本。

我希望能夠顯示一個警告,如果托盤的數量大於4

一切是基於袋(numbags)的數量。你將能夠看到我正在嘗試的東西的來源。

我不確定它是在哪裏,我把if語句或組合,只是不正確地寫它。

我想:

if (palettes >= 4) 
     { 
      alert('Please call for pricing'); 
      return false; 
     } 

,但它只是給我的警告,如果我輸入1334或更多的托盤字段,然後點擊計算按鈕。

我也試圖

if ((palettes >= 885.00) && (numBags >= 300)) 
     { 
      alert('Please call for pricing'); 
      return false; 
     } 

袋在托盤上的號碼是75,所以我想最低限度,如果我嘗試使用的4個托盤的價格(300袋* 2.95),這是885.00,我可能得到我想要的結果。

任何人都可以幫我嗎?

+2

try parseInt();去谷歌上查詢。 – Relic 2012-02-07 18:49:42

回答

0
if ((palettes >= 4) || (numBags >= 300)) 
     { 
      alert('Please call for pricing'); 
      return false; 
     } 

應該是或不是與

+0

由於價格885是300袋,我們只需要檢查其中的一個,而不是兩個或兩個! 它應該是,如果(numBags> = 300){//顯示警報} – Sundeep 2012-02-07 19:26:07

+0

您應該能夠檢查調色板的數量或取決於輸入的行李數 – 2012-02-07 19:31:36

+0

我認爲我通過了一些建議在這裏。我不需要基於我的音量的折扣價格。所以我省略了價格中斷,並將代碼更改爲://計算價格 \t \t'var niPrice = numBags * 2.95; \t \t var iPrice = numBags * 4.95; \t \t var palettes = Math。floor(numBags/75); \t \t \t 如果\t((調色板> 4)||(numBags> 300)) \t \t { \t \t \t警報( '請撥打定價'); \t \t \t return false; \t \t}'**這工作很好** – 2012-02-07 21:34:22

0

你可能想仔細重溫你的邏輯。

變量調色板在else塊中被初始化。而其他{}僅在numBags <= 99999爲假時發生。所以,當調色板場是1334

numbags = 1334 * 75 = 100050

,剛剛超過99999等調色板變量初始化並顯示您的警報。

因此,當調色板小於1334時,else塊永遠不會執行,並且不會顯示警報。

+0

你說得很好。我怎麼能這樣做,如果托盤超過4,那麼他們會一直顯示警報? – 2012-02-07 20:40:42

+0

不僅現在,而且在任何時候,確保在檢查條件之前變量已初始化並具有一個值。 – Sundeep 2012-02-08 06:28:41