按键时jquery替换字符

时间:2016-07-03 20:02:55

标签: jquery keypress digits

我正在搜索默认值为0.00的输入

当你尝试写一个数字时,让我们说6,在输入中出现0.06 接下来62,出现0.62 ...... 在第一个数字后用点分隔的最多3位数...

我在电话IMEI检查中看到了类似的内容,但我不记得在哪里...... 13位0,当你写一个数字时,用新数字替换最后一位

我不知道怎么搜索这样的东西......

如果这是一个愚蠢的问题,感谢和抱歉。

的Stefan

2 个答案:

答案 0 :(得分:2)

我希望这能解决你的问题。我在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
    }
  });
});
&#13;
<!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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用keydown功能 https://jsfiddle.net/moongod101/4s8npyhy/