2012-07-31 2 views
3

나는 old piece of code을 2003 년부터 작업하고 있습니다. ATM 스타일의 십진수 텍스트 상자를 복제하려고합니다. 이 코드는 누군가를 위해 일했다고 주장하지만 구현하는 데 문제가 있습니다.ATM 스타일 소수 자릿수

어쩌면 누군가가 이것을 달성하는 더 좋은 방법이 있을까요? 어쩌면 jQuery에서?

+0

http://jsfiddle.net/에서 피들링을하고 현재 위치를 알려주십시오. – invertedSpear

답변

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을 사용하기 때문에 텍스트 상자에 아무 것도 입력하지 않습니다.

관련 문제