2014-09-29 4 views
-3

Я делаю систему бронирования. Я хочу запрограммировать это так, чтобы, если пользователь нажимает кнопку с классом A, их общая цена увеличивается на 7.50. То же самое для кнопки с классом B, класс C и т.д.JavaScript: добавление переменных

Я попытался кодирования это следующим образом:

var price = 0; 
     if (button.className === "A") 
     { 
      price + 7.50; 
     } 

     if (button.className === "B") 
     { 
      price + 11; 
     } 

     if (button.className === "C") 
     { 
      price + 13; 
     } 

Но единственный выход я получаю 0!

Возможно, я ошибаюсь, но может ли кто-нибудь помочь мне?

+1

Кроме того, узнать о 'еще if' – epascarello

+1

' вар цена = {A: 7,5, B: 11 C: 13} [button.className ] || 0; ':-) – Bergi

+0

@Bergi Nice one! – gearsdigital

ответ

3

Вы хотите +=

price += 13; 

Это эквив к:

price = price + 13; 

Вызов price + 13 ничего не будет делать, так как ваш никогда переназначения результат обратно price.

+0

Как ни странно, это не работает. Это дает мне правильное значение для каждой кнопки, но оно не добавляет их вместе. –

+0

Не поймите меня неправильно, я думаю, что ваш ответ - это почти решение, но он просто не работает полностью, как я хочу. –

+0

Не видя большего контекста этого кода, сказать сложно, но это выглядит так: вы можете переназначить значение с нулевым значением с помощью 'var price = 0;' каждый раз, когда нажимается кнопка. Это означало бы, что оно успешно добавляет значение - к нулю. – Malnormalulo

0

Есть пара вещей, которые я надеюсь, что вы узнаете здесь:

Вы можете написать alert(button.className); в верхней части кода, чтобы сказать вам имя класса кнопки.

Затем, как указал один из ребята, используйте else if. Например, если он проходит первое условие, ему не придется проходить через два других. Вот пример:

var dayToday = 'Monday'; 
if (dayToday === 'Monday') { 
    doThis(); 
} 
else if (dayToday === 'Tuesday') { 
    doThat(); 
} 

// Since today is Monday, it will pass the first "if condition" 
// It won't have to check the 2nd condition 

И price + 7.50 просто вычисляет и возвращает полученное значение, но не сохраняет это значение в любом месте. То, что вы хотите сделать, это сохранить его обратно в price с помощью price = price + 7.50 (или price += 7.50)

Смежные вопросы