gpt4 book ai didi

if-statement - 为什么我的 CoffeeScript if/else 语句不起作用?

转载 作者:行者123 更新时间:2023-12-03 15:18:39 24 4
gpt4 key购买 nike

当有人更改选择选项时,我一直在尝试更新总价。这是我正在使用的选择元素:

<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 = 1在您的 if 内语句(仍然)是 CoffeeScript 中的赋值,您需要使用 ==用于比较。尝试这个:

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"

另外, == is converted to === 因此,除非您想使用 selection = +select.val() 将您的值“转换”为数字,否则您需要与字符串进行比较。 (感谢 Trevor Burnham 这个类型转换技巧)或 parseInt(select.val(), 10) .

关于if-statement - 为什么我的 CoffeeScript if/else 语句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com