我不希望允許文本框中的小數值..我已經編寫了代碼,但它只在刪除整個值然後重新插入時纔有效。 我的問題是當我嘗試編輯現有的值時,需要十進制數字。 Here's the 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);
}
});
});
問題是,你正在驗證/篩選的關鍵。你可以用模糊來代替嗎? – geedubb
嗯抱歉沒有得到你... @ geedubb ...你是否建議我改變事件? – Scorpio
你是否試圖阻止用戶在文本框中輸入'.'字符? 或者你是否試圖阻止像'3.14'這樣的值在用戶輸入值後被保存爲javascript? 或者您想將用戶的答案向上或向下四捨五入爲有兩位小數的整數值? 它看起來像用戶可以輸入'78',你會爲他們產生'78.00'?這是你想要的嗎?你是否希望用戶只輸入全部美元?你會追加'.00'到任何值? –