My If 语句在 Jquery 中不起作用



我已将所选选项分配给变量。但是,当我使用 if 语句比较变量和字符串时,if 语句会执行代码,而不管变量是否等于我的字符串。

我尝试重写代码并对javascript if语句进行一些研究,但据我所知,我不知道我的代码中有任何错误。

$(document).ready(function(){
    $("#main_dropdown").change(function(){
        let selectedMajor = $(this).children("option:selected").val();              
        if (selectedMajor = 'arts') {
            alert("Your selected major is: " + selectedMajor);
        }
    });
});

您正在尝试使用=来比较它们,这实际上会将"arts"分配给selectedMajor变量。请改用==来比较它们。

如果需要确保类型也相同,请使用 ===

在javascript中,=用于为变量赋值,==实际上是eqaulity检查运算符。

还可以使用 trim() 函数检查比较值不包含任何前导/尾随空格。

尝试改变,

if (selectedMajor = 'arts') {

if (selectedMajor.trim() == 'arts') {

希望这有帮助!.

你的 if 语句正在使用赋值 =。您要与 == 进行比较。

selectedMajor = 'arts'是一个赋值,它将始终返回左侧的值。

简单赋值

运算符用于为变量赋值。赋值操作的计算结果为分配的值

let x = 3;
console.log(x = 3)

如果要比较该值,则应==抽象相等或严格相等===

let x = 3;
console.log(x === 3)

最新更新