输入文本框后,如何编辑小数号



i在我输入小数数字之后无法编辑或重新输入数字,例如 xyxyx.xy eg: 45682.23在文本框中。

例如,在Firefox中,我无法在键入后编辑输入的值。在Chrome中,它似乎有效

有人在我的代码中找到问题吗?

https://jsfiddle.net/s4ywlapp/56/

$('#decimalNumber').keypress(function(event) {
  if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
    if ((event.which != 46 || $(this).val().indexOf('.') != -1)) {
    }
    event.preventDefault();
  }
  if (this.value.indexOf(".") > -1 && (this.value.split('.')[1].length > 1)) {
    //alert('Two numbers only allowed after decimal point');
    event.preventDefault();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="decimalNumber" />

您可以包装一些条件,例如以下条件,以允许编辑整数数字

//alert('Two numbers only allowed after decimal point');
    if(this.selectionStart > this.value.length - this.value.split('.')[1].length){
          event.preventDefault();
    }

但是,它仍然很脏。当小数点之后2位数字时,您应该在键盘上右转。

相关内容

  • 没有找到相关文章

最新更新