1

私はこの奇妙な問題を抱えています:

以下は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);
     }

2 番目の関数は、選択肢からオプションを選択するたびに正しい番号を表示します。最初のものが機能しない理由はありますか?

4

3 に答える 3

8

条件ステートメントは、等値演算子と呼ばれる二重等号を使用します -

  if (selValue2 == '1'){
    ...
  }

1 つだけを使用することで、基本的に行っていることは、変数に値を代入することです。これを代入演算子と呼びます。

selValue2 = '1'
于 2013-01-16T23:13:30.060 に答える
3

等式演算子が必要です。代入演算子を使用しています。平等は

selValue2 == '1'

割り当ては

selValue2 = '1'
于 2013-01-16T23:14:01.130 に答える
0

他の回答に追加する小さなポイントです。比較===の代わりに使用することをお勧めします。==

比較されるパラメーターの値とタイプの両方をチェックし、多くの場合より高速です。

于 2013-01-16T23:17:35.673 に答える