变量显示为NaN

时间:2014-06-17 19:35:08

标签: javascript jquery variables nan

我有一个变量,一直显示为NaN。我无法弄清楚它为什么会这样做。

这不会显示为NaN,它会显示应该显示的值(来自jQuery UI滑块)。

var gdHours = $("#gdhours").val();

但我的下一部分代码始终显示为NaN,并且它使函数中的其余计算保持工作状态。如图所示:

var gdCost = $("#gdcost").val(gdHours*20);

我尝试过使用parseIntparseFloat,但它无法正常使用。有什么建议吗?

3 个答案:

答案 0 :(得分:4)

setter val(NEW_VALUE)返回jQuery对象。你可以写

var gdCost = $("#gdcost").val(gdHours*20).val();

代替。

答案 1 :(得分:1)

将参数传递给val(...)函数时,它返回对象,而不是值。所以在第二个例子中相当于以下内容:

$("#gdcost").val(gdHours*20);
var gdCost = $("#gdcost");

因此返回jQuery对象,而不是元素的值。

jQuery这样做是为了支持函数调用链。

答案 2 :(得分:0)

你可以施放像

这样的整数
foo = parseInt($('#foo').val());

因为输入类型="文字"可以使用val()返回一个字符串,你不能乘以一个字符串