【问题标题】:add .00 at the end of value while typing键入时在值的末尾添加 .00
【发布时间】:2018-06-28 11:34:01
【问题描述】:

我正在处理一个只接受数字的简单字段,我想要在输入时在值的末尾添加“.00”。前任。 1000.00.

我无法实现该格式的问题,在 1 位数字后添加 '.00' 并且无法再输入。

我尝试了answer here,但没有成功。

这是我的sample work

$(document).ready(function(){
	$("input").keyup(function(){

        var val = parseInt($(this).val());
        $(this).val(val.toFixed(2));

    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">

希望你能帮助我。

谢谢。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    像这样使用模糊功能:

    $("input").blur(function(){
    
        var val = parseInt($(this).val());
        if(val){
            $(this).val(val.toFixed(2));
        }else{
            $(this).val(0);
            $(this).focus();
        }
    });
    

    【讨论】:

      【解决方案2】:

      如果你想做的是输入1并立即得到1.00,然后输入2,你将得到12.00,那么你需要保存光标位置(如here所述)。

      • 所以你想获取当前光标位置
      • 格式化输入数据
      • 更新input元素
      • 在需要的地方恢复光标位置(取决于它应该移动到哪里)

      【讨论】:

        【解决方案3】:

        试试这个:

        $( 'input' ).on( 'input', function() {
          var val = $( this ).val(),
              arr = val.split( '.' );
        
          if ( arr.length > 1 )
            $( this ).val( arr[ 0 ] + val.substr( val.length - 1 ) + '.00' )
          else
            $( this ).val( val + '.00' )
        } ).on( 'keypress', function( e ) {
          return e.charCode == 46 || ( e.charCode >= 48 && e.charCode <= 57 )
        } )
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        
        <input type="text" />

        【讨论】:

          【解决方案4】:

          我认为你应该尝试 focusout 事件..

          $(document).ready(function(){
               $("input").focusout(function(){
          
                   var val = parseInt($(this).val());
                   $(this).val(val.toFixed(2));
               });
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-08-06
            • 1970-01-01
            • 2012-02-24
            • 2017-06-15
            • 2010-11-11
            相关资源
            最近更新 更多