Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2016, 20:37
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Калькулятор расчета доставки
Привет, ребята=) Возникло затруднение при написании скрипта калькулятора для расчета доставки.
Так: 0.5 кг = 2200 руб. и так на увеличение по +200 при увеличении инпута на 0.1, но не более 1кг; и -200 при уменьшении, но не менее 0.5кг. 1 кг = 3200 руб.
Не пойму как мне рассчитать это
вот мой "код":
<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, 16.07.2016 в 20:59.
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2016, 21:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,076

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>

Последний раз редактировалось рони, 16.07.2016 в 22:43.
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2016, 21:53
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Спасибо, Рони, огромное!=) смотрю, я практически и не наг#вн#кодил=))
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2016, 22:09
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Проблема небольшая=) пропускает значение 2800=)
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2016, 22:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,076

Сообщение от qumo
пропускает значение 2800=)
исправил
Ответить с цитированием
  #6 (permalink)  
Старый 16.07.2016, 22:31
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Спасибо за ответ=) Теперь он 3200 не делает на 1кг, а когда в обратную делаешь, то 0.5 = 2400, а не 2200=)
Ответить с цитированием
  #7 (permalink)  
Старый 16.07.2016, 22:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,076

qumo,
пропишите нужные условия
Ответить с цитированием
  #8 (permalink)  
Старый 16.07.2016, 22:40
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Вот же спасибо огромнейшее=) Спасибо, Рони, что ты есть!=)
Ответить с цитированием
  #9 (permalink)  
Старый 16.07.2016, 22:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,076

Сообщение от qumo
то 0.5 = 2400, а не 2200=)
выше это исправлено
Ответить с цитированием
  #10 (permalink)  
Старый 16.07.2016, 22:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,076

Сообщение от qumo
Теперь он 3200 не делает на 1кг,
добавлено
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен калькулятор для расчета газобетона artstil Работа 7 27.04.2014 14:03
Калькулятор стоимости доставки Katik Элементы интерфейса 2 30.08.2012 15:32
Помогите доделать калькулятор расчета стоимости. mazaxaka jQuery 2 08.08.2012 16:14
Калькулятор расчета полиграфии 120gramm Общие вопросы Javascript 1 25.09.2010 15:44
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46