JQuery If语句无论输入如何都返回相同的数字

时间:2013-03-21 11:10:43

标签: javascript jquery

我有一个非常简单的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/

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

提前致谢。

3 个答案:

答案 0 :(得分:3)

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

<强> Live Demo

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

答案 1 :(得分:1)

  

==比较

     

=分配

if (behind == "nse") 

答案 2 :(得分:1)

在if语句中遗漏了=

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

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