javascript - jQuery parseInt() 结果为 NaN

标签 javascript jquery

问题摘要

我一直致力于根据 value 添加字段中的各种数字。输入框。我目前遇到 jQuery 连接 value 的问题参数,因为它们是字符串,我无法成功将它们转换为整数。

进一步说明

这是我正在使用的 HTML 示例:

<form action="" method="post">
 <input type="text" id="one" value="20.00" />
 <input type="text" id="two" value="10.00" />
 <a href="#" id="add">
  Add up fields
 </a>
 <input type="submit" value="Submit" />
</form>

这是我的 jQuery(上面描述的这种行为是这个脚本的预期行为):

$(function(){
  var one = $('#one').val(),
      two = $('#two').val();

  $('#add').click(function(e){
    e.preventDefault;
    var three = one + two;
    alert(three);
  });
});

这显然导致了输出:

20.0010.00

所以我尝试用 parseInt() 修改我的第一个变量声明像这样:

var one = parseInt($('#one').val(),10),
    two = parseInt($('#two').val(),10);

现在的结果是:

NaN

所以我尝试首先获取值,然后转换为整数:

var one = $('#one').val(),
    two = $('#two').val(),
    i_one = parseInt(one),
    i_two = parseInt(two);

但是又... NaN就是这样的结果。

我也尝试过使用 parseFloat() 进行上述操作这也产生了同样不幸的结果。

我还尝试(在博客上的某个地方阅读)添加 +前面将强制 jQuery 将变量视为整数,所以我这样做了(参见上面我得到 onetwo 的位置):

u_one = +one
u_two = +two

我开始认为使用 val() 获取值阻止 jQuery 将它们用作除字符串之外的任何东西......但我一定是错的。

您能否建议我如何以整数格式获取这些值,以便获得结果:

30.00

何时添加字段?

最好同时保留 <input />并且不添加另一个隐藏<span />或类似的包含我可以运行的数字 text()在。

感谢您的阅读。

注意

事实证明,该问题与 jQuery 无关,而与我正在使用的模板有关。上面的代码的工作方式如下面的评论中指出的那样。我已经接受了一个答案,但是发布的所有 jQuery 示例都可以工作。

最佳答案

试试这个方法

$(function(){
    var one = $('#one').val();
    var two = $('#two').val();

    $('#add').click(function(e){
    e.preventDefault;
    var three = parseInt(one) + parseInt(two);
    alert(three);
    });
});

引用 jsfiddle 上的工作演示:http://jsfiddle.net/adeshpandey/Y3xmW/

关于javascript - jQuery parseInt() 结果为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21861099/

相关文章:

javascript - 如何使用 Niceedit 编辑器获取 "upload image"字段

javascript - 多个动态 Canvas 元素?

javascript - jqGrid 使用您自己的删除样式按钮

javascript - DOM API 是 JavaScript 语言的一部分吗?

javascript - jQuery UI Slider - 发布时从 'slide' 事件返回的值不同于 'change' 值

JavaScript 正则表达式,其中没有两个符号一个接一个地出现并且至少存在一个这样的符号

javascript - 为什么在 alpha 动画之后图形在 IE 中有丑陋的黑色边框?

PHP 更新脚本不执行任何操作并且不抛出任何错误

javascript - 如何用jquery计数器实现一个简单的错误

javascript - 从 Ajax 加载的内容加载内容