|
Калькулятор расчета доставки
Привет, ребята=) Возникло затруднение при написании скрипта калькулятора для расчета доставки.
Так: 0.5 кг = 2200 руб. и так на увеличение по +200 при увеличении инпута на 0.1, но не более 1кг; и -200 при уменьшении, но не менее 0.5кг. 1 кг = 3200 руб. Не пойму как мне рассчитать это:D вот мой "код": <select name="method" class="find" onchange="question()"> <option value="ems">ЕМS</option> <option value="avia">Авиа</option> <option value="sal">SAL</option> <option value="parohod">Пароход</option> </select> <input type="number" value="0.5" min="0.5" step="0.1" max="1" name="weight" id="weight" size="4"> <hr><span id="answer"></span> руб
var price = document.getElementById('answer'),
ems_price = '2,200';
avia_price = '2,500';
sal_price = '2,700';
parohod_price = '1,800';
price.innerHTML = ems_price;
function question() {
var method = $('.find').val();
switch(method){
case 'ems':
var weight = $('#weight').val();
$('#weight').on('change', function() { // тут не важно, что событие здесь. Это я править буду потом=)
alert(ems_price);
if(weight > 0.5 && weight < 1){ // тут что-то другое, вероятнее всего. Я же делаю проверку "не ниже и не выше"=)
price.innerHTML = ? - не могу рассчитать
}
});
break;
//Далее тоже расчет по формулам будет=))
case 'avia':
price.innerHTML = avia_price;
break;
case 'sal':
price.innerHTML = sal_price;
break;
case 'parohod':
price.innerHTML = parohod_price;
break;
}
}
P.S.: для avia, sal и parohod не нужно ничего. я по примеру ems сделаю=) |
qumo,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var price = document.getElementById('answer'),
ems_price = 2200;
price.innerHTML = ems_price;
function question() {
var method = $('.find').val();
switch(method) {
case 'ems':
var weight = +$('#weight').val();
var sum = ems_price;
if(weight > 0.5 && weight <= 1){
for (var i= 5 ; i< weight*10; i++) {
sum += 200
};
};
price.innerHTML = sum;
break;
//Далее тоже расчет по формулам будет=))
case 'avia':
price.innerHTML = avia_price;
break;
case 'sal':
price.innerHTML = sal_price;
break;
case 'parohod':
price.innerHTML = parohod_price;
break;
}
}
$('#weight').on("input", question);
$('.find').on("change", question);
});
</script>
</head>
<body>
<select name="method" class="find" >
<option value="ems">ЕМS</option>
<option value="avia">Авиа</option>
<option value="sal">SAL</option>
<option value="parohod">Пароход</option>
</select>
<input type="number" value="0.5" min="0.5" step="0.1" max="1" name="weight" id="weight" size="4" >
<hr><span id="answer"></span> руб
</body>
</html>
|
Спасибо, Рони, огромное!=) смотрю, я практически и не наг#вн#кодил=))
|
Проблема небольшая=) пропускает значение 2800=)
|
Цитата:
|
Спасибо за ответ=) Теперь он 3200 не делает на 1кг, а когда в обратную делаешь, то 0.5 = 2400, а не 2200=)
|
qumo,
пропишите нужные условия |
Вот же спасибо огромнейшее=) Спасибо, Рони, что ты есть!=)
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 04:10. |
|