使用jQuery解析int
有人能帮我弄清楚为什么下面的jQuery代码不起作用吗? 我想从用户输入返回一个整数使用jQuery解析int,jquery,Jquery,有人能帮我弄清楚为什么下面的jQuery代码不起作用吗? 我想从用户输入返回一个整数 var test = parseInt($("#testid")); 谢谢你&再见 var test = parseInt($("#testid").val(), 10); 您必须告诉它您想要目标输入的值 另外,始终为parseInt提供第二个参数(基数)。它试图太聪明,如果不提供自动检测,可能会导致意外的结果 提供10假设您想要一个基数为10的数字。两个问题: var test = parseInt($(
var test = parseInt($("#testid"));
谢谢你&再见
var test = parseInt($("#testid").val(), 10);
您必须告诉它您想要目标输入的值
另外,始终为parseInt
提供第二个参数(基数)。它试图太聪明,如果不提供自动检测,可能会导致意外的结果
提供10
假设您想要一个基数为10的数字。两个问题:
var test = parseInt($("#testid").val());
您正在将元素的jQuery包装传递到parseInt
,这不是您想要的,因为parseInt
将调用toString
,然后返回“[对象]”
。您需要使用或(取决于元素是什么)来获取所需的字符串
您没有告诉parseInt
它应该使用什么基数(数字基数),这会使您面临奇数输入的风险,当parseInt
猜测使用哪个基数时,会给您带来奇数结果
如果元素是表单字段,请修复:
// vvvvv-- use val to get the value
var test = parseInt($("#testid").val(), 10);
// ^^^^-- tell parseInt to use decimal (base 10)
如果元素是其他元素,并且希望使用其中的文本,请修复:
// vvvvvv-- use text to get the text
var test = parseInt($("#testid").text(), 10);
// ^^^^-- tell parseInt to use decimal (base 10)
请定义“不工作”。您期望发生什么,以及实际发生什么?在调用parseInt
时,您应该始终指定基数。parseInt的兼容性如何?在调用parseInt
时,您应该始终指定基数。