有人可以帮我弄清楚为什么以下jQuery代码不起作用? 我想从用户输入中返回一个整数。
var test = parseInt($("#testid"));
谢谢你&再见!
答案 0 :(得分:110)
var test = parseInt($("#testid").val(), 10);
您必须告诉它您想要定位的value
输入。
而且,始终向parseInt
提供第二个参数(基数)。它试图过于聪明并且如果没有提供则自动检测它并且可能导致意外的结果。
提供10
假设您需要基数为10的数字。
答案 1 :(得分:13)
两个问题:
您正在将元素的jQuery包装器传递给parseInt
,这不是您想要的,因为parseInt
会在其上调用toString
并返回{ {1}}。您需要使用val
或text
或其他内容(取决于元素是什么)来获取所需的字符串。
你没有告诉"[object Object]"
它应该使用什么基数(数字基数),当parseInt
猜出要使用哪个基数时,这会让你有奇怪输入的风险。
修复元素是否为表单字段:
parseInt
如果元素是其他内容并且您想要使用其中的文本,请修复:
// vvvvv-- use val to get the value
var test = parseInt($("#testid").val(), 10);
// ^^^^-- tell parseInt to use decimal (base 10)
答案 2 :(得分:4)
var test = parseInt($("#testid").val());