我有一个变量,一直显示为NaN
。我无法弄清楚它为什么会这样做。
这不会显示为NaN
,它会显示应该显示的值(来自jQuery UI滑块)。
var gdHours = $("#gdhours").val();
但我的下一部分代码始终显示为NaN
,并且它使函数中的其余计算保持工作状态。如图所示:
var gdCost = $("#gdcost").val(gdHours*20);
我尝试过使用parseInt
和parseFloat
,但它无法正常使用。有什么建议吗?
答案 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()返回一个字符串,你不能乘以一个字符串