我有一个奇怪的问题:
下面是一个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元素选择的选项值,并显示适当的message...or。问题是,无论选择什么,它总是显示1。
另一方面,下面的工作是有效的。
function calculateSum()
{
var e2 = document.getElementById('hotel_names');
var selValue2 = e2.options[e2.selectedIndex].value;
alert(selValue2);
}第二个函数在您每次从选择中选择一个选项时显示正确的数字。你知道为什么第一个不起作用吗?
发布于 2013-01-17 07:13:30
条件语句使用称为相等运算符的双等号-
if (selValue2 == '1'){
...
}通过只使用一个,您实际上所做的就是为变量赋值。这称为赋值运算符。
selValue2 = '1'发布于 2013-01-17 07:14:01
您需要一个相等运算符。您正在使用赋值运算符。相等是
selValue2 == '1'分配是
selValue2 = '1'发布于 2013-01-17 07:17:36
只是对其他答案的一个小补充。我建议使用===而不是==进行比较。
它检查被比较的参数的值和类型,并且通常更快。
https://stackoverflow.com/questions/14369591
复制相似问题