0

我知道$("#SendingType").val(2)将 select 的值设置为 2。

那么,为什么这会转到其他地方?

$(function () {
    $("#calculate").click(function () {
        var result = $("#SendingType").val();
        var day1 = eval(result) + 3;
        var day2 = eval(result) + 10;
        var day3 = eval(result) + 2;
        if ($("#SendingType").val(2)) {
            $("#result").text(day1 + " and " + day2 + " days.");
        } else {
            $("#result").text(day1 + " and " + day3 + " days.");
        }
    });
});

我知道这不是编码if语句的正确方法。

已解决:谢谢 Jason 和 Juhana。代码不会转到 else ,我认为它会因为 select 的值会影响 if 结果。总是 if 但由于新的选择值而产生不同的结果。

小提琴

4

1 回答 1

5

在我看来,true不管它运行分支:

http://jsfiddle.net/tMwRV/

这是有道理的。您将值设置为2,而不是检查值。该语句$("#SendingType").val(2)返回一个 jQuery 对象,它是“真实的”。

于 2013-07-31T14:40:36.437 回答