【发布时间】:2017-04-18 11:01:08
【问题描述】:
下面的代码不起作用。
var day = $("#day").val();
var week = $("#week").val();
var month = $("#month").val();
if (day > week) {
alert(day > week);
$('#error').text("Day Limit Must be smaller than Week Limit");
$('.alert-danger').show();
setTimeout(function () {
$(".alert-danger").hide();
}, 5000);
return false;
}
if (day > month) {
$('#error').text("Day Limit Must be smaller than Month Limit");
$('.alert-danger').show();
setTimeout(function () {
$(".alert-danger").hide();
}, 5000);
return false;
}
if (month < week) {
$('#error').text("Week Limit Must be smaller than Month Limit and greater than Day Limit");
$('.alert-danger').show();
setTimeout(function () {
$(".alert-danger").hide();
}, 5000);
return false;
}
我在这里得到day=4 和week=6 和month=9。在这种情况下,所有if 条件都可以正常工作。但是month=10,第二个if 条件不起作用(4>10) 实际上是false,但它得到了true。
我的逻辑有什么问题?
【问题讨论】:
-
.val()返回字符串,需要转成数字 -
您正在比较 字符串。这里某处有一个重复...(
val在正常情况下返回一个字符串 [异常情况:空的 jQuery 对象或 jQuery 对象中的非字段元素,在这种情况下你会得到undefined]。)
标签: jquery