Jquery - 有条件的不工作

Mar*_*ark 2 javascript jquery

我有一个具有多个条件的函数,但由于某种原因,它会卡在第一个if语句上.有谁知道为什么会发生这种情况?

var k总是返回正确的,但无论我选择什么选项,第一个if语句都是唯一运行的语句,尽管值为k.

jQuery/JS如下:

<script>
    $(function () {
        var a = $("#BreedingSireUnReg"),
            b = $("#BreedingDamUnreg"),
            c = $("#BreedingDateUnreg");
        $("#BreedingOptionsUnReg").change(function () {
            var k = parseInt($("#BreedingOptionsUnReg").val());
            console.log(k);
            if (k == 2||8) {
                $(a, b, c).prop("disabled", true);
                console.log("1");
            }
            else if (k == 3||4||5||9||10||11) {
                $(a, b).prop("disabled", true);
                $(c).prop("disabled", false);
                console.log("2");
            }
            else {
                $(a, b, c).prop("disabled", false);
                console.log("3");
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

Mik*_*uck 6

因为8永远都是真的.我相信你打算打字if (k == 2 || k == 8).您始终必须指定要检查的内容.

  • @马克,你的第二个`if`,因为有很多的价值,你可以使用:!`如果($ inArray(K,[3,4,5,9,10,11])== - 1)` (2认同)