jquery - 如何检查最小金额小于最大金额?
问题描述
我需要从 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);
}
});
解决方案
- 测试两者都有输入
- 测试它们是数字而不是 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 "/>
推荐阅读
- flutter - Youtube 的自动播放视频在 Flutter webview for Android 上不起作用
- android - 如何将 FragmentFactory 与 FragmentStatePagerAdapter 一起使用
- javascript - Generator.next 不是函数
- python - 将日志记录级别设置为高级别时如何避免字符串格式
- python - 更改值后使用代理模型更改 QTableView 的单元格的背景颜色
- python - GeoPandas 中坐标表示的不一致
- jquery - 在每个 div 中查找多个输入并将值推送到某种格式
- java - 当查找表连接它们时,Spring Boot 如何返回两个实体,其中一个嵌套在另一个实体中?
- java - 创建定义名称为“entityManagerFactory”的bean时出错:Java8
- php - 来自 php 内部的 FFMPEG 没有响应(在命令行中工作)