2012-07-31 49 views
3

我正在努力从2003年起获得old piece of code的工作。我试图复制ATM款式的小数文本框。此代码声称已为某人工作,但我在实施时遇到问题。自动柜员机款式小数位

也许有人有更好的方式来实现这一目标?也许在jQuery中?

+0

在http://jsfiddle.net/上找到一个小提示,告诉我们你在哪里。 – invertedSpear 2012-07-31 18:17:11

回答

1

那么,对于处理输入的代码可以很容易做出这样的:

$("#number").keyup(function(e){ 
    var number = $("#number").val(); 
    var newValue = (Math.round(parseFloat(number)*100)/100)/100; 
}); 

这可能是一个挑战得到它放回文本没有得到冲突,但你可以“假”它做是这样的:

http://jsfiddle.net/AnfCn/1/

免责声明:快速和肮脏的

4

这是我会怎么解决这个问题:http://jsfiddle.net/77bMx/86/

  • 手柄小键盘输入,以及标准的数字键
  • 工程与退格
  • 将恢复到0.00,如果你以某种方式管理生产非法输入(如退格太多)

的基本思想是拦截任何输入框中,确保它是正确的类型(数字或退格键),然后将其添加到后备存储字符串(var input),然后格式化该字符串正确显示。用户从来没有直接输入任何东西到文本框中,因为我在事件处理程序的末尾使用return false