2014-03-26 49 views
0

作为javascript中的新手,我在编写If语句时遇到问题,第四回合后发生事件。我希望在用户点击四个选项后弹出提醒。我添加了计数器变量“转”到输出,所以我可以看到它是否正确计数,但它没有。if语句计数器变量混淆javascript

var question1 = new Array(); 
var turns = 0; 

window.onload = function() { 
    var eSelect = document.getElementById('question1'); 
    var optOtherReason = document.getElementById('displayresponse'); 
    var options = document.getElementsByTagName("option"); 
    eSelect.onchange = function() { 
     var li = document.createElement("li"); 
     li.innerHTML = options[eSelect.selectedIndex].innerHTML; 
     var ol = document.getElementById("appendedtext"); 
     ol.appendChild(li); 
     question1.push(li.innerHTML); 
     var x = document.getElementById("display"); 
     x.innerHTML = question1 + turns; 
     turns + 1; 
    } 
    if (eSelect.selectedIndex == 3) { 
     optOtherReason.style.display = 'block'; 
     turns - 1; 
    } 
    if (turns = 4) { 
     alert("hey your turn is over") 
    } 
} 
<select id="question1" name="question"> 
    <option value="x">Reason1</option> 
    <option value="y">Reason2</option> 
    <option value="other">Otherreason</option> 
    <option value="none">None</option> 
</select> 
<br> 
<div id="displayresponse" style="display:none;">If you did not see a choice here, you may search for other sites.</div> 
<ol id="appendedtext"></ol> 
<div id="display"></div> 

回答

4

要比较两个表达式,你需要使用==

if (turns == 4) 

此外,turns是一个变量,所以和/。减去一个,你应该使用:

turns += 1 
turns -= 1 

或者,正如在comme中指出的那样nts,你也可以使用:

turns++; 
turns--; 
+1

什么是** 2'='**?你的意思是'=='? –

+0

是的,现在应该更清楚 – juvian

+2

'评估表达式'你的意思是比较两个表达式吗? –