我已将所选选项分配给变量。但是,当我使用 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)