首页 > 解决方案 > 如何检查最小金额小于最大金额?

问题描述

我需要从 jquery 中的最小输入文本和最大输入文本中检查最小数量是否小于最大数量?我该如何检查?这是我检查的方法。谢谢。

$minimum_amt = $("#min_amt");
$maximum_amt = $("#max_amt");

$minimum_amt.on("change", function () {
    if ($minimum_amt.val() == '.') {
        alert("You can input only numeric number !");
    }
    if ($minimum_amt.val() > $maximum_amt.val()) {

        $(':input[name="submitDiscount"]').prop('disabled', true);
    }
    else {



        $(':input[name="submitDiscount"]').prop('disabled', false);

    }
});

$maximum_amt.on("change", function () {
    if ($maximum_amt.val() == '.') {
        alert("You can input only numeric number !");
    }
    if ($minimum_amt.val() > $maximum_amt.val()) {
        alert("Minimum Amount should be less than Maximum Amount !");
        $(':input[name="submitDiscount"]').prop('disabled', true);
    }
    else {



        $(':input[name="submitDiscount"]').prop('disabled', false);

    }
});

标签: jquery

解决方案


  • 测试两者都有输入
  • 测试它们是数字而不是 1. - 也可以用正则表达式完成
  • 使用输入而不是更改来处理粘贴

$(".amt").on("input", function() {
  var min = $.trim($("#min_amt").val()),
    max = $.trim($("#max_amt").val()),
    val = $.trim(this.value);
  if (val && (val.indexOf(".") !=-1 || Math.floor(val) != val || !$.isNumeric(val))) {
    alert("You can input only integers !");
    $(this).val(val.substring(0,val.length-1))
    $(this).focus();
    return
  }
  var dis = (min.length==0 || max.length==0) || ((+min) > (+max));
  $(':input[name="submitDiscount"]').prop('disabled',dis);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Min <input type="text" id="min_amt" class="amt" value="" /> 
Max <input type="text" id="max_amt" class="amt" value="" />
<input type="submit" name="submitDiscount" disabled "/>


推荐阅读