Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Калькулятор js с скидкой (https://javascript.ru/forum/misc/31249-kalkulyator-js-s-skidkojj.html)

metlick 31.08.2012 12:29

Калькулятор js с скидкой
 
У меня на сайте стоит калькулятор расчета стоимости товара
<script language="JavaScript"> 
 <!-- 

function price_format(o) {
    return Number(o).toFixed(1);
}

 function recalc() 
 { 
 document.getElementById('fieldRes').innerHTML = price_format(parseFloat(document.getElementById('field1').value) * parseFloat(document.getElementById('field2').value));
 } 
 //--> 
 </script> 
 </head> 
 <body> 

<tr> 
<td style="padding-right:10px;">Наименование:</td><BR> 
<td>
<select name="b" id="field2" onchange="recalc()" style="width:150">
<option value="0" selected="selected">Выбрать...</option>
<option value="10">Sent</option>
<option value="15">Mor</option>
<option value="311">Lotr</option>
<option value="11">Grey</option>
</select>
</td> 
</tr> 

 <tr> 
<BR><BR><td style="padding-right:10px;">Количество:</td>
 <BR><input type=text id="field1" onKeyUp=recalc() value=0><BR> 
<BR>
 <td style="padding-right:10px;">Сумма к оплате:</td><BR> 
 <td width=30%><span id="fieldRes">0</span></td> 
<td style="padding-right:10px;">руб.</td> 
 </tr> 
 </table>


С недавнего времени я решил добавить скидки. Помогите сделать так что бы при вводе клиентом например более 100 выдавалась сумма согласно тарифу но -5%.

lord2kim 31.08.2012 13:12

metlick,
function recalc()
 {
var sum = price_format(parseFloat(document.getElementById('field1').value) * parseFloat(document.getElementById('field2').value));
switch (true) {
    case sum > 0 && sum <= 100:  document.getElementById('fieldRes').innerHTML = sum;
break;
    case sum > 100 && sum <= 200:  document.getElementById('fieldRes').innerHTML = sum - (sum * 5 / 100);
break;
    case sum > 200 && sum <= 300:  document.getElementById('fieldRes').innerHTML = sum - (sum * 10 / 100);
break;
}
 }

где 5, 10 - проценты

metlick 03.09.2012 15:40

Спасибо огромное, только имелось ввиду вводимое к количество товара больше 100 в итоге сделал так:
function price_format(o) {
    return Number(o).toFixed(1);
}
 
 function recalc()
	 {
	var sum = price_format(parseFloat(document.getElementById('field1').value) * parseFloat(document.getElementById('field2').value));
         var kol = price_format(parseFloat(document.getElementById('field1').value));
switch (true) {
	    case kol > 0 && kol <= 99:  document.getElementById('fieldRes').innerHTML = sum;
	break;
	    case kol > 99 && kol <= 499:  document.getElementById('fieldRes').innerHTML = sum - (sum * 5 / 100);
	break;
	    case kol > 499 && kol <= 50000:  document.getElementById('fieldRes').innerHTML = sum - (sum * 10 / 100);
	break;
	}
	 }

p.s.
Откуда вы узнали что 10% мне тоже надо? :blink: думал потом сам допишу..


Часовой пояс GMT +3, время: 20:55.