簡體   English   中英

JQuery 以數字形式獲取數字輸入值

[英]JQuery get number input value as a number

給定一個數字輸入:

<input type="number" id="create-y-small" name="create-y-small" value="0">

如何將輸入的值作為數字獲取? 以下返回一個字符串:

$("#create-y-small").val()

(附帶的問題,為什么這是默認行為?當然應該期望數字類型的輸入給出一個數字?)

我在其他地方尋找答案,但沒有運氣:

輸入值是字符串而不是數字答案使用解析來解析為數字。 我不想解析為數字,我只想將數字作為數字獲取。

從輸入數字中獲取變量值OP 似乎很高興將值作為字符串獲取

在 jQuery 中獲取輸入數字的值

https://www.codegrepper.com/code-examples/javascript/how+to+get+the+value+of+input+number+using+jquery同樣的故事

html 中的所有輸入元素都返回字符串作為它們的值。 如果你想要 int 的結果,你必須轉換它。

parseInt($("#create-y-small").val())

您可以使用 jquery 的valHooks更改 jquery 返回值的方式。

$.valHooks.number = {
  get: function( elem ) {
    return elem.value * 1;
  }
};

您只需在代碼中執行一次,然后所有type=number輸入將返回一個數字。

 console.log( "num is a string", $("#num").val() === "1", $("#num").val() === 1, $("#txt").val() === "1", $("#txt").val() === 1) $.valHooks.number = { get: function( elem ) { return elem.value * 1; } }; // confirm no neffect on type='text' console.log( "num is a number", $("#num").val() === "1", $("#num").val() === 1, $("#txt").val() === "1", $("#txt").val() === 1)
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type='number' id='num' value="1"> <input type='text' id='txt' value="1">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM