我有这个奇怪的问题:
以下是JavaScript函数
function calculateSum()
{
var e2 = document.getElementById('hotel_names');
var selValue2 = e2.options[e2.selectedIndex].value;
if (selValue2='1')
{
alert("helloworld");
}
else
{
alert("byeworld");
}
//function closes
}
它捕获HTML元素选择的选项值并显示相应的消息......或者它应该是。无论选择如何,它总是显示1。
另一方面,以下工作。
function calculateSum()
{
var e2 = document.getElementById('hotel_names');
var selValue2 = e2.options[e2.selectedIndex].value;
alert(selValue2);
}
每次从选择中选择一个选项时,第二个功能显示正确的数字。 任何想法为什么第一个不起作用?
答案 0 :(得分:8)
条件语句使用称为等号运算符的双等号 -
if (selValue2 == '1'){
...
}
只使用一个你正在做的事情是为变量赋值。这称为赋值运算符。
selValue2 = '1'
答案 1 :(得分:3)
您需要一个相等运算符。您正在使用赋值运算符。平等是
selValue2 == '1'
分配是
selValue2 = '1'
答案 2 :(得分:0)
添加其他答案只需要一点点。我建议使用===
代替==
进行比较。
它会检查所比较参数的值和类型,并且通常更快。