2003年から、古いコードを機能させることに取り組んでいます。ATMスタイルの10進テキストボックスを複製しようとしています。このコードは誰かのために働いたと主張していますが、私はそれを実装するのに問題があります。
多分誰かがこれを達成するためのより良い方法を持っていますか?多分jQueryで?
2003年から、古いコードを機能させることに取り組んでいます。ATMスタイルの10進テキストボックスを複製しようとしています。このコードは誰かのために働いたと主張していますが、私はそれを実装するのに問題があります。
多分誰かがこれを達成するためのより良い方法を持っていますか?多分jQueryで?
これは私がそれを解決する方法です: http://jsfiddle.net/77bMx/86/
基本的な考え方は、ボックスへの入力をインターセプトし、それが正しいタイプ (数値またはバックスペース) であることを確認してから、それをバッキング ストレージ文字列 ( var input
) に追加し、その文字列をフォーマットして正しく表示することです。イベント ハンドラーの最後で使用するため、ユーザーがテキスト ボックスに直接何かを入力することはありません。return false
さて、入力を処理するためのコードは、次のように簡単に作成できます。
$("#number").keyup(function(e){
var number = $("#number").val();
var newValue = (Math.round(parseFloat(number)*100)/100)/100;
});
競合を起こさずにテキストボックスに戻すのは難しいかもしれませんが、次のようにして「偽造」することができます。
免責事項: クイック アンド ダーティー