随机值不正确的jQuery十进制验证

时间:2018-01-22 07:27:35

标签: javascript jquery

如何使用jQuery从输入框中随机值验证十进制数?

我的示例代码如下:

$("#actualWeight").on('keyup', function(e) {
  if (e.keyCode == 13) {
    var actualWeight = $("#actualWeight").val();
    var maxGrossWeight = "3.6";
    var minGrossWeight = "2.4";

    if (actualWeight > maxGrossWeight) {
      alert("More than max gross");
    } else if (actualWeight < minGrossWeight) {
      alert("Lower than min gross");
    } else {
      alert("Success");
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" id="actualWeight" />

如你所见:
Min Gross = 2.4
Max Gross = 3.6

当我尝试输入200时,它会向我显示提示Success的警告More than max gross

您可以在this fiddle

上看到它

1 个答案:

答案 0 :(得分:1)

.val()将输入的值作为字符串返回。因此,您正在比较字符串值。

你应该将maxGrossWeight和minGrossWeght设置为float变量,并在进行比较之前将input元素的值解析为float:

 var actualWeight = parseFloat($("#actualWeight").val());
 var maxGrossWeight = 3.6;
 var minGrossWeight = 2.4;

<强> Working Demo