web-dev-qa-db-ja.com

小数点以下2桁の入力マスク

RobinHerbots inputmask を使用していますが、22.302.15のように小数点以下2桁にするにはどうすればよいですか?入力マスクで設定された 'currency'と同様ですが、コンマ(値の長さに基づいて自動生成)と通貨記号はありません。以下は私が試したもののスニペットですが、残念ながらどれも機能しません。ヘルプ、提案、アイデア、手掛かり、推奨事項を教えてください。

$(document).ready(function(){
  $(".decimal").inputmask('decimal',{rightAlign: true});
  $(".currency").inputmask('currency',{rightAlign: true  });
  $(".custom1").inputmask({ mask: "**[.**]", greedy: false, definitions: { '*': { validator: "[0-9]" } }, rightAlign : true });
  $(".custom2").inputmask({ 'alias' : 'decimal', rightAlign: true, 'groupSeparator': '.','autoGroup': true });
  $(".custom3").inputmask({ 'alias' : 'decimal', 'mask' : "**[.**]", rightAlign: true});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.6/jquery.inputmask.bundle.min.js"></script>

<input type="text" class="decimal" /><br>
<input type="text" class="currency" /><br>
<input type="text" class="custom1" /><br>
<input type="text" class="custom2" /><br>
<input type="text" class="custom3" value="0" /><br>
8
Juliver Galleto

JQueryやライブラリを使用せずに、簡単で非常に効率的な方法を思いついたばかりです。

HTML:

<input type="number" oninput="inputChange()" />

JavaScript:

function inputChange(){
    let value = Number(document.activeElement.value);
    let pos = document.activeElement.selectionStart;
    document.activeElement.value = value.toFixed(2);

    document.activeElement.selectionStart = pos;
    document.activeElement.selectionEnd = pos;
}

私はそれをウェストコーストのスチームローラーと呼んでいます

1
story