【问题标题】: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">