【问题标题】:Jquery Masking returning Float/Int ValueJquery Masking 返回 Float/Int 值
【发布时间】:2017-12-08 13:50:26
【问题描述】:

如何返回使用 jquery 屏蔽插件屏蔽的输入的原始值?

这种情况下,我正在使用货币掩码。如果我使用 jQuery 获取值,它会返回字符串,而不是浮点数/整数。

我怎样才能把它恢复到原来的值?

$(document).ready(function() {
	$('.money').mask('000.000.000.000.000,00', {reverse: true});
  var mon = $('.money').val();
  console.log(mon);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script>

<input type="text" class="money" value="30000">

【问题讨论】:

    标签: javascript jquery html css jquery-plugins


    【解决方案1】:

    您需要在元素上调用.cleanVal()。阅读this link以编程方式获取掩码值部分。

    $(document).ready(function() {
    	$('.money').mask('000.000.000.000.000,00', {reverse: true});
      var mon = $('.money').cleanVal();
      console.log(mon);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script>
    
    <input type="text" class="money" value="30000">

    文本框总是返回字符串值。您必须根据需要使用parseInt()parseFloat() 手动将其解析为数字。

    【讨论】:

      【解决方案2】:

      你可以尝试使用parseFloat(string)函数

      $(document).ready(function() {
      	$('.money').mask('000.000.000.000.000,00', {reverse: true});
        var mon = parseFloat($('.money').val());
        console.log(mon);
      });
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script>
      
      <input type="text" class="money" value="30000">

      【讨论】:

        猜你喜欢
        • 2021-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-25
        • 2021-07-19
        • 2022-06-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多