Почему мой оператор CoffeeScript if / else не работает?

Я пытался обновить общую цену, когда кто-то меняет параметр выбора. Вот элемент выбора, который я использую:

<select id="payment_talks_purchased" name="payment[talks_purchased]">
  <option value="1">One</option>
  <option value="2">Three</option>
</select>

Это jQuery, который я использую:

jQuery(document).ready(function() {
  var price = $(".total-price span.price")
  var save = $(".savings")
  $("#payment_talks_purchased").change(function() {
    var selection = $("#payment_talks_purchased").val()
    if (selection == 2) {
      price.html("$12");
      save.css("visibility", "visible");
    } else if (selection == 1) {
      price.html("$5");
      save.css("visibility", "hidden");
    }
  });  
});

Он отлично работает. Он изменяет цену на 12 долларов и показывает сообщение о скидке. Если я изменю параметр выбора обратно на One / 1, он изменит текст обратно на 5 долларов и удалит сообщение о скидке.

Я преобразовал это в CoffeeScript, но он работает только при первом изменении. Цена обновлена. Однако, когда я пытаюсь вернуть его к варианту 1, он не обновляется.

jQuery ->
  price = $(".total-price span.price")
  save = $(".savings")
  select = $("#payment_talks_purchased")
  select.change ->
    selection = select.val()
    if selection = 2
      price.html "$12"
      return save.css "visibility", "visible"
    else if selection = 1
      price.html "$5"
      return save.css "visibility", "hidden"

Я работаю над этим часами и уже в своем уме. Любая помощь будет принята с благодарностью.

15
задан Benjamin Welch 11 November 2011 в 06:00
поделиться