我一直在嘗試更新總價格,當有人改變選擇選項。下面是我使用的select元素:爲什麼我的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"
我一直在這工作了幾個小時,並在我的智慧結束。任何幫助將不勝感激。
沒錯。如果您想將表單輸入轉換爲數字,請使用'selection = + select.val()'。 –
非常感謝您的幫助。那就是訣竅。 –
除非你明確地想要觸發類型強制,否則不是比較首選嗎? – jpmc26