2012-02-06 80 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