2012-02-06 46 views
0

我已经创建了一个表格来计算价格乘以一件物品的数量。它有更多的选择,但我缩小到一个选择。但现在我无法弄清楚如何让更多数量的价格突破。基本上有价格折扣如下:在javascript中以较大的数量计算便宜的价格

HTML表单:

<form action="#" id="price-quote" onsubmit="return false"> 
<table width="501" border="0" cellpadding="10" cellspacing="20" style="padding- top:30px;"> 
<tr> 
<th width="67" scope="row">Size:</th> 
<td width="273" class="select-box"> <select id="size" name="size"> 
<option value="None">Select Size</option> 
<option value="2.5 inches">2.5 inches</option> 
<option value="3 inches">3 inches</option> 
<option value="Oval">Oval</option> 
</select> 
</td> 
</tr> 
<tr> 
<th scope="row">Quanitity:</th> 
<td><input type="text" name="quantity" id="quantity" /></td> 
</tr> 
<tr> 
<th scope="row">&nbsp;</th> 
<td><input class="button" type="button" value="Update" onmousedown="getTotal()"/></td> 
</tr> 
<tr> 
<th> Price:</th> 
<td><div id="totalPrice" style="float:right;"></div></td> 
</tr> 
</table> 
</form> 

的Javascript:

var size_prices= new Array(); 
size_prices["None"]=0; 
size_prices["2.5 inches"]=4.60; 
size_prices["3 inches"]=4.90; 
size_prices["Oval"]=5.10; 

function getSizePrice() 
{ 
var sizePrice; 
var theForm = document.forms["price-quote"]; 
var selectedSize = theForm.elements["size"]; 
sizePrice = size_prices[selectedSize.value]; 
return sizePrice; 
} 

function getQuantity() 
{ 
var theForm = document.forms["price-quote"]; 
//Get a reference to the TextBox 
var quantity = theForm.elements["quantity"]; 
var howmany =0; 
//If the textbox is not blank 
if(quantity.value!="") 
{ 
    howmany = parseInt(quantity.value); 
} 
return howmany; 
} 

function getTotal() 
{ 
var instantPrice = getSizePrice() * getQuantity(); 
document.getElementById('totalPrice').innerHTML = 
            "$"+instantPrice.toFixed(2); 
} 

可能有人

Item A is 4.60 for 1+ item. For 10+ items 3.40, 25+ 2.68 and so on until it hits 5000+ items. This is the same for items, B and C except they are priced different. 

这怎么能使用下面的方法,我计算请指向正确的方向。谢谢

回答

3
function getTotal() 
{ 
    var q = getQuantity(); 
    var unitPrice = 4.60; 
    if(q >= 10){ 
     unitPrice = 3.40; 
    } else if (q >= 25){ 
     unitPrice = 2.68; 
    } 

    var instantPrice = unitPrice * q; 
    document.getElementById('totalPrice').innerHTML = 
           "$"+instantPrice.toFixed(2); 
} 
+0

这是伟大的,但我怎么得到这个项目b和c是不同的价值观? – Jakeray 2012-02-06 17:45:33

+0

这取决于其余的代码和HTML ..我只在您的HTML中看到1个产品。推断并不困难 – Richard 2012-02-07 06:54:35