Получить выбранное значение из раскрывающегося списка с использованием JavaScript
У меня есть следующий 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");
}
}
Я надеялся, что при нажатии кнопки он проверит, была ли выбрана опция "измерять время" и предупредить меня ТОЛЬКО, если это было выбрано. Однако независимо от того, какой вариант был выбран, он всегда показывает предупреждение.
Любые идеи?
Ответы
Ответ 1
Может быть, это запятая в вашем состоянии if
.
function answers() {
var answer=document.getElementById("mySelect");
if(answer[answer.selectedIndex].value == "To measure time.") {
alert("That correct!");
}
}
Вы также можете записать его так.
function answers(){
document.getElementById("mySelect").value!="To measure time."||(alert('That correct!'))
}
Ответ 2
Try
var e = document.getElementById("mySelect");
var selectedOp = e.options[e.selectedIndex].text;
Ответ 3
Первое, что я заметил, это то, что у вас есть двоеточие сразу после вашей закрывающей скобки для оператора 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/
Ответ 4
Рабочий jsbin: http://jsbin.com/ANAYeDU/4/edit
Основной бит:
function answers()
{
var element = document.getElementById("mySelect");
var elementValue = element.value;
if(elementValue == "To measure time"){
alert("Thats correct");
}
}