输入字段接受整数或浮点数。结果是24.00或(24)但不高于24

时间:2015-05-05 14:07:48

标签: javascript jquery

$("#"+time_type_id+"_sun").keypress(function(e) {             
   if (e.which != 8 && e.which != 0 && e.which != 46 && parseInt($("#"+time_type_id+"_sun").val()) > 25 && (e.which < 48 || e.which > 57)) {
     return false;
  }            
}); 

如何找到总输入值小于25.而Text字段接受整数或浮点数。如果是整数,则最大输入长度为2(例如: - 24)或浮点数最大输入长度为5(例如: - 24.00)。

2 个答案:

答案 0 :(得分:1)

你以错误的方式解决这个问题。您可以处理keypress事件(处理对文本字段内容所做的任何更改),而不是处理input事件,然后检查输入的值是否大于数值24 :

&#13;
&#13;
$("input").on('input', function() {
  var value = +this.value;

  if (typeof value != "number" || value > 24) {
    $(this).val(24);
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="number" placeholder="Enter a number here" />
&#13;
&#13;
&#13;

如果您输入的数值不是数字或大于24,则该值将强制为24.如果您想强制将值强制为24.00,则可以使用{{ 1}}。

作为参考,$(this).val('24.00');使用一元加值将+this.value转换为数字值(类似于this.value的工作方式)。

答案 1 :(得分:0)

你可以试试这个:

if ((e.which != 8 && e.which != 0 && e.which != 46) && ((e.which < 48 || e.which > 57) || parseInt($("#"+time_type_id+"_sun").val()) > 25)) {
        return false;
}