Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.12.2016, 18:50
Профессор
Отправить личное сообщение для Telnet Посмотреть профиль Найти все сообщения от Telnet
 
Регистрация: 21.02.2011
Сообщений: 160

Не выполняются условия из блока switch
Всем привет
Разместил простой пример тут

https://jsfiddle.net/vipTelnet/2hjqkf9t/1/

Не могу понять почему сумма не считается.
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2016, 20:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Telnet,
switch так не работает, попробуйте заменить switch на if .
Ответить с цитированием
  #3 (permalink)  
Старый 21.12.2016, 20:25
Профессор
Отправить личное сообщение для Telnet Посмотреть профиль Найти все сообщения от Telnet
 
Регистрация: 21.02.2011
Сообщений: 160

О тут https://learn.javascript.ru/switch
написано что
В case могут быть любые выражения, в том числе включающие в себя переменные и функции.

я этот пример переделывал с php там все именно так и работает.
На if то я переделал и заработало но почему тут в яваскрипте не работало через switch я так и не понял.
Ответить с цитированием
  #4 (permalink)  
Старый 21.12.2016, 20:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Telnet,
предположим quantity = 10 тогда с помощью switch
вы проверяли что-то такое

if(10 == (10 > 5)) //false
if(10 == (10 < 5)) //false
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2016, 00:06
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Поставке в switch true и все будет работать.
$(document).ready(function() {
    $('#quantity').change(function(){
         calculate();
    });
    function calculate(){
        var summa = 0;
        var quantity = parseInt($('#quantity').val());
        switch (true) {
          case  quantity < 5:
            summa = quantity*10;
            break;
          case  quantity > 5:
            summa = quantity*2;
            break;            
        }
        $('#summa').text(summa);
    }
})
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью Javascript взять величину с одного блока и присвоить её другому Lons Общие вопросы Javascript 7 21.05.2016 00:07
Плавное раскрытие и сворачивание блока StyLLeR jQuery 6 07.07.2014 16:00
вычисление и фиксация ширины блока konstantin-mn jQuery 2 27.08.2012 11:42
слайд панели tadjik1 Элементы интерфейса 22 02.04.2012 17:13
Два блока div разъезжаются при скроллинге окна браузера. call007 jQuery 0 03.04.2011 16:21