簡體   English   中英

使用相同的 class 獲取所有輸入值並將它們替換為 % 符號作為“數字”?

[英]Getting all input values with same class and replacing them with % symbol as a “Numbers”?

獲取具有相同 class 名稱的輸入值並將該值與 % 符號一起替換,它不應該是字符串或 object 類型應該是“數字”。

例如:如果我在輸入字段中輸入 25,它應該更改為 25%,並且 25% 應該是數字,而不是字符串。

如果您的輸入是type="number" ,則其值中不能包含非數字字符 (%)。 您可以在輸入中添加 label 以在其后顯示百分號,如下所示

  <input style="width:40px" type="number" id="myNumericInput" name="myInput"/>
  <label for="myInput" style="font-weight: bold">%</label>

您可以將parseFloat應用於輸入的值,因為它會在遇到 % 符號時立即停止解析。 因此,它前面的數字會被評估。

您已經添加了 % 符號。 當用戶返回該輸入並再次開始編輯時,您可能還想再次刪除它。

如果您願意,您可以制作一個小 jQuery 插件,以便在用戶專注於輸入或遠離它時,添加/刪除 % 符號。

這是一個實時代碼段:編輯和標簽,然后返回輸入元素以查看它的作用。

 // Define jQuery plugin: $.fn.percentage = function () { function clean() { return this.value = this.value.replace(/[^\d.]/g, ""); } this.each(function () { $(this).on("focus", clean).on("blur", function () { if (clean.call(this)) this.value += "%"; }); }); } // Demo // 1. Automatically add/remove %: $("input").percentage(); // 2. Illustrate the use of parseFloat $("input").on("change", function () { console.log(parseFloat($(this).val())); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input>

暫無
暫無

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

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