【发布时间】:2016-06-13 14:43:45
【问题描述】:
我有一个输入元素,并希望确保只允许使用数值。我找到了一个工作示例here。
现在我想获取该字段的值并将其写入另一个输入元素:
$(".firstinput").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
var $this = $(this).val();
$("copiedinput").val($this);
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
这几乎可以工作,但我只有在按回车键或退格键后才能得到值。键入“222”和退格会导致 .firstinput 为“22”,而 .copiedinput 为“222”。如何获得实时值?
【问题讨论】:
-
您是否尝试过
<input type="number" />以及keyup和change事件处理程序? jsfiddle.net/mhv7u36q -
我需要确保只能输入数字。所以数字类型的解决方案对我不起作用。
标签: jquery get numeric keydown