我正在努力从2003年开始old piece of code工作。我正在尝试复制ATM样式的十进制文本框。此代码声称已为某人工作,但我无法实现它。
也许某人有更好的方法来实现这一目标?也许在jQuery?
答案 0 :(得分:4)
这就是我要解决的问题:http://jsfiddle.net/77bMx/86/
基本思想是拦截对框的任何输入,确保它的类型正确(数字或退格),然后将其添加到后备存储字符串(var input
),然后格式化该字符串可以正确显示。用户永远直接在文本框中输入任何内容,因为我在事件处理程序的末尾使用return false
。
答案 1 :(得分:1)
嗯,处理输入的代码很容易就像这样:
$("#number").keyup(function(e){
var number = $("#number").val();
var newValue = (Math.round(parseFloat(number)*100)/100)/100;
});
将其重新放回文本框而不会发生冲突可能是一个挑战,但您可以通过执行以下操作来“伪造”它:
免责声明:快速而肮脏