【问题标题】:jquery.inputmask - set value in "oncomplete" callback makes incorrect actionjquery.inputmask - 在“oncomplete”回调中设置值会导致不正确的操作
【发布时间】:2015-12-15 00:23:51
【问题描述】:
如果在“oncomplete”回调中使用其他屏蔽输入进行 setVal 操作,您可以在 Chrome 和 Safary 中看到不正确的反应,在 FF 中可以正常工作
oncomplete: function(e){
$('.i-input-2').val($(e.currentTarget).inputmask('unmaskedvalue'));
}
演示:http://jsfiddle.net/serGlazkov/nxLzq82o/
【问题讨论】:
标签:
javascript
google-chrome
safari
webkit
jquery-inputmask
【解决方案1】:
您似乎发现了 jQuery inputmask 插件的一个严重错误。使用 autoGroup 和 digitsOptional 选项时,有一些激进的插入符号位置处理。当与多个屏蔽输入实例结合使用时,它会导致插入符号在每次击键后移动到索引 0。
将currency 掩码与以下选项一起使用将为您提供最一致的界面。
$('.i-input-1').inputmask({
alias: 'currency',
rightAlign: false,
digits: 2,
oncomplete: function (e) {
var currVal = $(e.currentTarget).inputmask('unmaskedvalue');
copyValue1(currVal);
}
});
$('.i-input-2').inputmask({
alias: 'currency',
rightAlign: false,
digits: 2
});
function copyValue1(str){
$('.i-input-2').val(str);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://dev.vanare.net/bundles/vanarewebsite/js/jquery.inputmask.bundle.min.js"></script>
<input type="text" class="i-input-1" value="100">
<input type="text" class="i-input-2" value="555" disabled="disabled">