我不想在文本框中允许十进制值。我已经编写了代码,但只有在删除整个值然后重新插入它时它才有效。我的问题是当我尝试编辑现有值时,它采用十进制数字.. 这是 jsfiddle。这是供参考的代码:
HTML
<input id="Amt" type="text" value="$78.00">
jQuery
$(document).ready(function () {
$("#Amt").keydown(function (e) {
if ((!e.shiftKey && !e.ctrlKey && !e.altKey) && ((e.keyCode >= 48 && e.keyCode <= 57) ||
(e.keyCode >= 96 && e.keyCode <= 105))) {
}
else if (e.keyCode != 8 && e.keyCode != 46 && e.keyCode != 37 && e.keyCode != 39 &&
e.keyCode != 9) {
e.preventDefault();
}
});
$("#Amt").keyup(function (e) {
var value = $(this).val();
var newValue = parseFloat(value).toFixed(2);
if (!isNaN(newValue)) {
$(this).val(newValue);
$(this).caret(newValue.length - 3, newValue.length - 3);
}
});
});