Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не выполняются условия из блока switch (https://javascript.ru/forum/jquery/66537-ne-vypolnyayutsya-usloviya-iz-bloka-switch.html)

Telnet 21.12.2016 18:50

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

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

Не могу понять почему сумма не считается.

рони 21.12.2016 20:05

Telnet,
switch так не работает, попробуйте заменить switch на if .

Telnet 21.12.2016 20:25

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

я этот пример переделывал с php там все именно так и работает.
На if то я переделал и заработало но почему тут в яваскрипте не работало через switch я так и не понял.

рони 21.12.2016 20:33

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

if(10 == (10 > 5)) //false
if(10 == (10 < 5)) //false

dd_smol 22.12.2016 00:06

Поставке в 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);
    }
})


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