21

私は次のHTMLを持っています

<form>
  <div class="answer1wrap">
    <select id="mySelect">
      <option value="void">Choose your answer</option>
      <option value="To measure time">To measure time</option>
      <option value="To measure distance">To measure distance</option>
      <option value="To measure volume">To measure volume</option>
    </select>
  </div>
</form>

<button class="btn btn-default" id="checkbtn" onclick="answers();" type="button"><span    class="glyphicon glyphicon-check"></span> Check answers</button>

私もjavascriptを持っています

function answers()
{
  var selectedanswer=document.getElementById("mySelect").selectedIndex;

  if (document.getElementsByTagName("option")[selectedanswer].value=="To measure time");{
    alert("Thats correct"); 
  }
}

ボタンが押されたときに、「時間を測定する」オプションが選択されているかどうかを確認し、それが選択されている場合にのみ警告することを望んでいました。ただし、どのオプションが選択されていても、常にアラートが表示されます。

何か案は?

4

4 に答える 4

5

最初に気づいたのは、if ステートメントの閉じ括弧の直後にセミコロンがあることです。);

また、回答の変数を個別に宣言して、if ステートメントをクリーンアップする必要があります。

function answers() {

var select = document.getElementById("mySelect");
var answer = select.options[select.selectedIndex].value;

    if(answer == "To measure time"){
        alert("Thats correct"); 
    }

}

http://jsfiddle.net/zpdEp/

于 2013-09-17T10:13:45.143 に答える