Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 19.07.2016, 00:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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 res = document.getElementById("answer"),
        price = {
            "ems": 2200,
            "avia": 2500,
            "sal": 2700,
            "parohod": 1800
        };
    res.innerHTML = price["ems"];

    function question() {
        var method = $(".find").val();
        var weight = +$("#weight").val()||0;
        var sum = price[method];
        switch (method) {
            case "ems":
                for (var i = 50; i < weight * 100; i++) sum += i < 100 ? 20 : 18;
                break;
            case "avia":
                break;
            case "sal":
                break;
            case "parohod":
                break
        };
        res.innerHTML = sum
    }
    $("#weight").on("change", 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.01" max="2" name="weight" id="weight" size="4" >

<hr><span id="answer"></span> руб


</body>
</html>
Ответить с цитированием
  #42 (permalink)  
Старый 19.07.2016, 00:19
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Спасибо за помощь!=) Да, так отлично, но
for (var i = 50; i < weight * 100; i++) sum += i < 100 ? 20 : 18;

тут только 20 и 18, а у меня еще будет и 16, и 14, и ниже=))
Ответить с цитированием
  #43 (permalink)  
Старый 19.07.2016, 00:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от qumo
а у меня еще будет и 16, и 14, и ниже
и в чём проблема?
Ответить с цитированием
  #44 (permalink)  
Старый 19.07.2016, 18:09
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

т.е. также for'ом?
Ответить с цитированием
  #45 (permalink)  
Старый 19.07.2016, 18:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от qumo
у меня еще будет и 16, и 14,
Цитата:
Василий Ивановач:
-Петька,приборы!
Петька:
-300!
Василий Иванович:
-Что 300?
Петька:
-А что приборы?
Ответить с цитированием
  #46 (permalink)  
Старый 19.07.2016, 19:33
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Я имел ввиду прибавление к sum += 16; sum += 14 и т.д. Их так же делать for'ом?
Ответить с цитированием
  #47 (permalink)  
Старый 19.07.2016, 19:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от qumo
Я имел ввиду прибавление к sum += 16; sum += 14 и т.д. Их так же делать for'ом?
пожалуйста обьясните когда вы собираитесь прибавлять эти числа, возможно вам нужно всего лишь продолжить условия в строке, без дополнительного for ... далее непереводимый испанский мат!!!

Последний раз редактировалось рони, 19.07.2016 в 19:53.
Ответить с цитированием
  #48 (permalink)  
Старый 19.07.2016, 20:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

qumo,
пока вы играите в партизана на допросе, поиграю в телепата
for (var i = 50; i < weight * 100; i++) sum += i < 100 ? 20 : i < 200 ? 18 : i < 300 ?  16 : 14;
Ответить с цитированием
  #49 (permalink)  
Старый 19.07.2016, 20:48
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

sum +=16 - if(weight > 2 && weight <=6)
sum +=14 - if(weight > 6 && weight <=30)
Ответить с цитированием
  #50 (permalink)  
Старый 19.07.2016, 20:53
Аспирант
Отправить личное сообщение для qumo Посмотреть профиль Найти все сообщения от qumo
 
Регистрация: 16.06.2016
Сообщений: 51

Да, Роник, благодарю тебя! Блин, огромное спасибо!!!=) Что б тебе в жизни удача всегда улыбалась!=)
Вот так:
for (var i = 50; i < weight * 100; i++) sum += i < 100 ? 20 : i < 200 ? 18 : i < 600 ?  16 : 13;
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен калькулятор для расчета газобетона 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