2012-02-07 63 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