使用jQuery解析Int [已关闭]

p3rjfoxz  于 2022-12-29  发布在  jQuery
关注(0)|答案(3)|浏览(134)

这个问题不太可能帮助任何未来的访问者;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况有关,而这些情况通常不适用于Internet的全球用户。要帮助更广泛地应用此问题,请访问visit the help center
10年前关闭了。
有人能帮我找出为什么下面的jQuery代码不工作吗?我想从用户输入返回一个整数。

var test = parseInt($("#testid"));
efzxgjgh

efzxgjgh1#

var test = parseInt($("#testid").val(), 10);

你必须告诉它你想要目标输入的value
而且,总是提供第二个参数(radix)给parseInt。它试图太聪明,如果不提供它,会自动检测它,并可能导致意外的结果。
提供10假设您需要一个以10为基数的数字。

vmdwslir

vmdwslir2#

两个问题:
1.您正在将元素的jQuery Package 器传递给parseInt,这不是您想要的,因为parseInt将在其上调用toString并返回"[object Object]"。您需要使用valtext或其他方法(取决于元素是什么)来获得您想要的字符串。
1.您没有告诉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)
mzillmmw

mzillmmw3#

var test = parseInt($("#testid").val());

相关问题