Tôi đã cố cập nhật tổng giá khi ai đó thay đổi tùy chọn đã chọn. Đây là yếu tố chọn Tôi đang sử dụng:Tại sao lệnh CoffeeScript nếu/else của tôi không hoạt động?
<select id="payment_talks_purchased" name="payment[talks_purchased]">
<option value="1">One</option>
<option value="2">Three</option>
</select>
Đây là jQuery Tôi đang sử dụng:
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");
}
});
});
Nó hoạt động một cách hoàn hảo. Nó thay đổi giá thành $ 12 và hiển thị thông báo giảm giá. Nếu tôi thay đổi tùy chọn chọn trở về One/1, nó sẽ thay đổi văn bản trở lại $ 5 và loại bỏ thông báo giảm giá.
Tôi đã chuyển đổi thành CoffeeScript nhưng nó chỉ hoạt động khi tôi thực hiện thay đổi đầu tiên. Giá được cập nhật. Tuy nhiên, khi tôi cố gắng thay đổi nó trở lại tùy chọn 1, nó không cập nhật.
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"
Tôi đã làm việc này hàng giờ và sáng suốt trí thông minh của mình. Mọi sự trợ giúp sẽ rất được trân trọng.
Chính xác. Sử dụng 'selection = + select.val()' nếu bạn muốn chuyển đổi đầu vào biểu mẫu thành một số. –
Cảm ơn bạn rất nhiều vì đã giúp đỡ bạn. Điều đó đã làm các trick. –
Không phải là 'được ưu tiên để so sánh, trừ khi bạn muốn kích hoạt cưỡng chế kiểu một cách rõ ràng? – jpmc26