【发布时间】:2019-10-11 11:23:57
【问题描述】:
我正在使用 select2。所以它不是一个实数输入字段我尝试创建一个只允许带小数的数字的输入字段:
<input type="text" name="numeric" class='select2 allownumericwithdecimal'>
$(".allownumericwithdecimal").on("keypress keyup blur",function (event) {
$(this).val($(this).val().replace(/[^0-9\.]/g,''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
我现在需要的是,它不仅允许点,还应该允许逗号。这是我的方法:
$(".allownumericwithdecimal").on("keypress keyup blur",function (event) {
$(this).val($(this).val().replace(/[^0-9\.]/g,''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1 || $(this).val().indexOf(',') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
仍然不允许逗号.. });
【问题讨论】:
-
使用
type="number"并让浏览器决定如何为给定的位置/文化正确格式化数字。 -
Documentation of
<input type="number"> -
不,我不能。因为我使用的是select2。所以它不是一个真正的输入字段
-
还有类型号我仍然可以在字段内写字母
-
不过是jquery函数的问题
标签: jquery function input jquery-select2