1

我有一个非常简单的 HTML 表单和一些 JQuery 来计算一个数字。

我遇到的问题是 if 语句返回与输入无关的相同数字:

    $(document).ready(function()
    {
        $('input').change(function()
        {
            var behind = escape($('#behind').val());
            var speed = parseInt($('#speed').val());
            var diff;

if (behind = "nse") { diff = '0.83'; }
if (behind = "0.5") { diff = '1.66'; }
if (behind = "0.75") { diff = '2.49'; }

var hsr = speed-diff;
$('#hsr').html(hsr);

        });
    });

如果我在框中输入 nse,则计算使用 diff = '2.49' 而不是 diff = '0.83' ,因为我已经编程。

包含完整代码的 jsFiddle 页面位于http://jsfiddle.net/Jucna/1/

请问有人可以解释代码有什么问题吗?

提前致谢。

4

3 回答 3

3

在 if 语句中使用比较运算符==而不是赋值运算符。=

现场演示

if (behind == "nse") { diff = '0.83'; }
if (behind == "0.5") { diff = '1.66'; }
if (behind == "0.75") { diff = '2.49'; }
于 2013-03-21T11:11:36.260 回答
1

== 比较

= 分配

if (behind == "nse") 
于 2013-03-21T11:12:10.530 回答
1

=if 语句中缺少 a

if (behind == "nse") { diff = '0.83'; }
if (behind == "0.5") { diff = '1.66'; }
if (behind == "0.75") { diff = '2.49'; }

使用一个=分配一个值而不是比较它。

于 2013-03-21T11:13:27.020 回答