Javascript 我的If语句在Jquery中不起作用
我已将所选选项指定给变量。但是,当我使用if语句比较变量和字符串时,if语句执行代码,而不管变量是否等于字符串 我尝试过重写代码,并对javascript if语句进行了一些研究,但据我所知,我不知道代码中有任何错误Javascript 我的If语句在Jquery中不起作用,javascript,jquery,Javascript,Jquery,我已将所选选项指定给变量。但是,当我使用if语句比较变量和字符串时,if语句执行代码,而不管变量是否等于字符串 我尝试过重写代码,并对javascript if语句进行了一些研究,但据我所知,我不知道代码中有任何错误 $(document).ready(function(){ $("#main_dropdown").change(function(){ let selectedMajor = $(this).children("option:selected").val(
$(document).ready(function(){
$("#main_dropdown").change(function(){
let selectedMajor = $(this).children("option:selected").val();
if (selectedMajor = 'arts') {
alert("Your selected major is: " + selectedMajor);
}
});
});
您正试图使用
=
对它们进行比较,这将实际为selectedMajor
变量指定“arts”。改为使用==
,这将比较它们
如果您需要确保类型也相同,请在javascript中使用
===
使用=
为变量赋值,==
实际上是eqaulity检查运算符
还可以使用trim()
函数检查比较的值是否不包含任何前导/尾随空格
试着改变
if (selectedMajor = 'arts') {
作为
希望这有帮助 您的if语句正在使用赋值=。您希望与==。selectedMajor='arts'是一个始终返回左侧值的函数 简单赋值运算符用于为变量赋值。赋值操作的计算结果为指定的值
设x=3;
console.log(x=3)
在=
和=
(和==
)之间有区别=
是赋值,如果(选择了MAJOR='arts',请使用=
进行平等性检查){
hmm这看起来不像比较..你在分配一个值..你需要=
或==
进行比较如果语句效果很好,那只是你的条件,它总是通过的。请随意将我的帖子标记为“已回答”如果这对你有帮助的话。:-)我对这样一个简单的答案投赞成票。为什么生活对我如此艰难D@NelsonTeixeira我问的是完全相反的问题。:D
if (selectedMajor.trim() == 'arts') {