【发布时间】:2016-02-01 11:32:10
【问题描述】:
我正在尝试使用 jQuery 创建一个 if 和 else if 语句,我将在 if 和 else if 语句中有两个条件,所以我也在使用 &&。
但是,每次我在代码中使用 if 和 else if 时,我的代码都会停止工作,我无法弄清楚为什么会一直发生这种情况。
为了更好地解释这一点,我创建了这个FIDDLE
有问题的代码是这样的:
if ($button.text() == "+" && parseFloat(oldValue) == parseFloat(maximum)) {
alert("You cannot do that");
}else if($button.text() == "+" && parseFloat(oldValue) > parseFloat(maximum)){
.........................
如果我把上面的代码改成:
if ($button.text() == "+") {
.........................
一切正常,但使用 if 和 else if 语句,似乎没有任何效果,我也没有在 consul 中看到任何错误。
有人可以就这个问题提出建议吗?
我有什么遗漏的吗?
任何帮助将不胜感激。
编辑:
根据一些答案,我已经编辑了我的代码,但我仍然有一个小问题!
问题是输入和剩余更改的数量,即使oldValue >= maximum。这是FIDDLE
【问题讨论】:
-
当旧值小于最大值时会发生什么?也许您应该在第一个条件
parseFloat(oldValue) <= parseFloat(maximum)中使用小于或等于? -
提示:在控制台中查看为
data-max生成的HTML。 -
@Pete,如果 oldValue 小于最大值,则代码应该像没有 if 语句一样工作。但是当最大值 == oldvalue 时,应该弹出错误/警报.. 如果有意义的话。
-
@rooz,我已经修改了你的小提琴,所以它可以向你展示你在 if 语句中的结束位置 - 它正在按我的预期工作:jsfiddle.net/m5oobxrq/2。 (最多给出 10 个)。看起来您正在进入“-”按钮点击可能性
-
@rooz,请在下面测试我的解决方案,它是否按预期工作? ;)
标签: jquery