有人可以幫我找出爲什麼下面的jQuery代碼不起作用嗎? 我想從用戶輸入中返回一個整數。parseInt與jQuery
var test = parseInt($("#testid"));
謝謝&再見!
有人可以幫我找出爲什麼下面的jQuery代碼不起作用嗎? 我想從用戶輸入中返回一個整數。parseInt與jQuery
var test = parseInt($("#testid"));
謝謝&再見!
var test = parseInt($("#testid").val(), 10);
您必須告訴它,您需要輸入您的目標的value
。
而且,總是提供第二個參數(基數)到parseInt
。它試圖太聰明,如果沒有提供,它會自動檢測,並可能導致意想不到的結果。
提供10
假設您需要一個基數爲10的數字。
您應該在調用'parseInt'時總是指定基數。 – 2012-03-19 18:03:45
parseInt的兼容性如何? – 2013-07-04 10:30:32
var test = parseInt($("#testid").val());
您應該在調用'parseInt'時總是指定基數。 – 2012-03-19 18:06:56
兩個問題:
你傳遞元素的jQuery的包裝爲parseInt
,這是不是你想要的,因爲parseInt
將調用它toString
,並取回"[object Object]"
。您需要使用val
或text
或其他(取決於元素是什麼)來獲取所需的字符串。
你不告訴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)
請界定「沒有按沒有用。「你期望發生什麼,真正發生了什麼? – 2012-03-19 18:02:47