jQuery逻辑运算符在jquery中没有按预期工作

时间:2017-04-18 11:01:08

标签: jquery

我有以下代码无效。

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=4week=6以及month=9。在这种情况下,所有if条件都正常工作。但是month=10,第二个if条件不起作用(4>10)实际上是false,但它获得了true

我的逻辑有什么问题?

2 个答案:

答案 0 :(得分:1)

您应该在比较之前将值转换为整数

var day = parseInt($("#day").val());
var week = parseInt($("#week").val());
var month = parseInt($("#month").val());

答案 1 :(得分:0)

您需要先通过parseint将这些值转换为整数,然后将它们作为数字进行比较。