我的If语句在Jquery中不起作用

时间:2019-04-05 15:10:35

标签: javascript 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);
        }
    });
});

4 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

在JavaScript =中为变量赋值时,==实际上是等价性检查运算符。

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

尝试更改,

if (selectedMajor = 'arts') {

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

希望这会有所帮助!。

答案 2 :(得分:1)

您的if语句使用赋值=。您想与==进行比较。

答案 3 :(得分:0)

selectedMajor = 'arts'Assignment,它将始终在左侧返回该值。

  

简单赋值运算符用于为变量赋值。赋值运算将得出赋值

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

如果要比较值,则应使用抽象等式==或严格等式===

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