He intentado actualizar el precio total cuando alguien cambia la opción de seleccionar. Aquí está el elemento de selección que estoy usando:¿Por qué no funciona mi sentencia CoffeeScript if/else?
<select id="payment_talks_purchased" name="payment[talks_purchased]">
<option value="1">One</option>
<option value="2">Three</option>
</select>
Este es el jQuery que estoy usando:
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");
}
});
});
Funciona perfectamente. Cambia el precio a $ 12 y muestra el mensaje de descuento. Si cambio la opción de selección a One/1, cambia el texto a $ 5 y elimina el mensaje de descuento.
Lo convertí en CoffeeScript pero solo funciona cuando hago el primer cambio. El precio esta actualizado Sin embargo, cuando trato de volver a cambiarlo a la opción 1, no se actualiza.
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"
He estado trabajando en esto durante horas y estoy en mi ingenio. Cualquier ayuda sería muy apreciada.
Exactamente a la derecha. Use 'selection = + select.val()' si quiere convertir la entrada del formulario en un número. –
Muchas gracias por su ayuda. Eso hizo el truco. –
¿No se prefiere '' 'para la comparación, a menos que explícitamente desee activar la coerción de tipo? – jpmc26