// JavaScript Document // calculate price based on quantity function changeQty(change){ var currentQty = parseInt($F('quant')) // Where quant is the id of your quantity input field. Gets value of currentQty field switch (change) { case 'add': currentQty += 1 $('quant').value = currentQty calculate() break case 'subtract': if (currentQty > 1) { // only subtract if qty is greater than zero currentQty -= 1 $('quant').value = currentQty calculate() } break case 'field': if (currentQty > 0) { window.setTimeout('calculate()', 500) } break } } function calculate(){ var currentQty = parseInt($F('quant')) // Where quant is the id of your quantity input field. Gets value of currentQty field var jsnormalprice = $F('jsnormalprice') // Where jsnormalprice is the id of your hidden base price field. Gets value of base_price field var jsspecialprice = $F('jsspecialprice') // Where is the id of your hidden base price field. Gets value of base_price field if (currentQty > 0) { // Don't want price to display if zero if customer zeros out quantity var new_jsnormalprice = jsnormalprice * currentQty // Calculate the price. var new_jsnormalprice = new_jsnormalprice.toFixed(2) // Only allow 2 decimals. I'll let you add rounding features up or down. var new_jsspecialprice = jsspecialprice * currentQty // Calculate the price. var new_jsspecialprice = new_jsspecialprice.toFixed(2) // Only allow 2 decimals. I'll let you add rounding features up or down. } else { // set price back to original price new_jsnormalprice = jsnormalprice new_jsspecialprice = jsspecialprice } $('jsnormalpriceshow').update(new_jsnormalprice) // Where jsnormalpriceshow is the id of your span for the echoed product price $('jsspecialpriceshow').update(new_jsspecialprice) // Where jsspecialpriceshow is the id of your span for the echoed product price }