【发布时间】:2018-03-19 21:47:33
【问题描述】:
我确定我只是遗漏了一些超级简单的东西,但为什么我的 click 函数没有从 askPrice 全局变量中获取实际值?它只返回“NaN”。如果 askPrice 在 click 函数中,它工作得很好。
$(document).ready(function() {
var askingPrice = parseFloat( $("#mortcalc-ask").val().replace(/,/g,'') );
var i = 0;
$(".mortcalc-go").click(function(){
var i = 1;
alert(askingPrice + " is the cost");
});
});
提前感谢您的帮助!
【问题讨论】:
-
$("#mortcalc-ask").val().replace(/,/g,'')的值是多少? -
因为
$("#mortcalc-ask").val()可能会在文档加载时返回NaN.. 但是当您在点击中使用它时.. 确保您在点击之前输入了一些内容,所以它会返回值 -
NaN 代表 Not a Number 所以在初始加载时,变量被设置为任何存在并且不会改变,假设它是一个空值,这将是南。然而,当 askPrice 在 click 函数中时,它只在点击时获取值,我猜你只是在 askPrice 里面有一个数字时才点击按钮,所以你不会得到 NaN。
-
$("#mortcalc-ask") 的值与客户端在点击按钮之前需要填写的 相关联。它一开始是空的,但即便如此,在单击按钮时,在输入中输入一个数字后,它应该会吐出数字,对吧?
-
@Alec 所以你告诉我的是,一旦它在文档加载时获得“NaN”的值,在按钮单击时不会被覆盖?以前从未遇到过:/ 编辑:Nvm ... 下面的答案清除了我的逻辑失误。显然,它不会改变,因为它不会重置 click 函数内的变量.. fml ......谢谢大家!
标签: javascript jquery scope