代码之家  ›  专栏  ›  技术社区  ›  zmeutz

jquery在按键[关闭]时替换字符

  •  0
  • zmeutz  · 技术社区  · 8 年前

    我正在搜索使用默认值0.00进行输入

    接下来的62,出现0.62。。。 第一个数字后最多3个数字以点分隔。。。

    我在手机IMEI检查中看到了类似的东西,但我不记得在哪里。。。

    我不知道如何搜索这样的东西。。。

    谢谢,如果这是一个愚蠢的问题,请道歉。

    斯特凡

    2 回复  |  直到 8 年前
        1
  •  2
  •   Vimlesh    8 年前

    我希望这能解决你的问题。我用过 event.key keyup 事件来确定按下了哪个键,然后处理输入数据以显示结果。

    var result = 0;
    $(document).ready(function() {
      $("input").keyup(function(event) {
        var k = event.key;
        if (!isNaN(k)) { //check if input is a number
          if((parseFloat(result)) < 1) { //condition to keep result in maximum of 3 digit
            result = parseFloat(result*1000) + parseFloat(k);
            result /= 100;
            result = result.toFixed(2); //Convert into a string, keeping only two decimals
            $("input").val(result);
          } else {
            $("input").val(result);
          }
        } else if (k == "Backspace" || k == "Delete") { //check if backspace or delete is pressed
          result = 0;
          $("input").val("0.00");
        } else { //check if any non-numeric key pressed
          $("input").val(parseFloat(result).toFixed(2));// assures that always shows formatted result
        }
      });
    });
    <!DOCTYPE html>
    <html>
    <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    </head>
    <body>
      Enter number:
      <input type="text" placeholder="0.00" autofocus>
    </body>
    </html>
        2
  •  0
  •   Felix Fong    8 年前