我试图获取使用 autoNumeric 格式化的输入数字的原始值,但不能,因为我尝试执行此操作的每种方法都会返回 '.autoNumeric 不是函数' 在控制台中。
$(document).ready(function() {
new AutoNumeric('#input', AutoNumeric.getPredefinedOptions().numericPos.dotDecimalCharCommaSeparator);
$('#input').on('keyup', function() {
$('#output').val($('#input').autoNumeric('getString'));
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular-resource.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/autonumeric/4.0.3/autoNumeric.js"></script>
<input id="input" name="basicPayPerYearInput" type="text" value="123456.78" placeholder="0.00" class="currencyInput validate">
<input type="text" for="basicPayPerYearInput" id="output">
我什至无法像大多数文档中所写的那样正确初始化输入$(selector).autoNumeric()
,所以我不得不使用上面的“new AutoNumeric”,奇怪的是,它也在一些文档中使用,并且是唯一有效的方法:
看来您一直在阅读 AutoNumeric 插件旧 API 的文档。该插件已被重写,因为它们独立于 jQuery,这意味着.autoNumeric()
不再是有效的 jQuery 方法。
您想要做的是在运行时存储 AutoNumeric 实例,然后只需使用获取方法.getNumericString() https://github.com/autoNumeric/autoNumeric#set-get-format-unformat-and-other-usual-autonumeric-functions在实例上检索其字符串值:
// Store instance
var autoNumericInstance = new AutoNumeric('#input', AutoNumeric.getPredefinedOptions().numericPos.dotDecimalCharCommaSeparator);
$('#input').on('keyup', function() {
// Retrieve instance numeric string value
$('#output').val(autoNumericInstance.getNumericString());
});
请参阅此处的概念验证示例(或更新了小提琴 https://jsfiddle.net/teddyrised/0eax1feg/1/):
$(document).ready(function() {
var autoNumericInstance = new AutoNumeric('#input', AutoNumeric.getPredefinedOptions().numericPos.dotDecimalCharCommaSeparator);
$('#input').on('keyup', function() {
$('#output').val(autoNumericInstance.getNumericString());
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/autonumeric/4.0.3/autoNumeric.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<input id="input" name="basicPayPerYearInput" type="text" value="123456.78" placeholder="0.00" class="currencyInput validate">
<input type="text" for="basicPayPerYearInput" id="output">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)