2015-09-15 2 views
3

Теперь я хочу использовать «check/unchecked checkbox» как «IF condition statement».JavaScript - использование «check/unchecked checkbox» как «IF ELSE condition statement»

Пример: Я хочу сделать анализатор аккордов на основе заметок, которые вы нажмете. Когда вы проверяете заметку (или некоторые заметки) на флажке, затем нажмите кнопку под этими флажками, элемент абзаца должен рассказать вам о том, какой аккорд вы нажмете. Но в моем письме есть ошибка в заявлении if ("error"). Как это исправить?

Вот мой код:

<!doctype html> 
<html> 
    <head> 
     <script> 
     function fungsi() { 

     var c = document.getElementById("C").checked; 
     var e = document.getElementById("E").checked; 
     var f = document.getElementById("F").checked; 
     var g = document.getElementById("G").checked; 

     if (c.checked = true && 
      e.checked = true && 
      g.checked = true && 
      f.checked = false) { 
      document.getElementById("chord").innerHTML = "C Chord"; 
     } else if (c.checked = true && 
      f.checked = true && 
      g.checked = false && 
      e.checked = false) { 
      document.getElementById("chord").innerHTML = "F Chord"; 
     } else { 
      alert("Under Development!"); 
     } 
     } 
     </script> 
    </head> 
    <body> 
     <form> 
     Note(s) That You Hit:<br> 
     <input type=checkbox id="C">C<br> 
     <input type=checkbox id="E">E<br> 
     <input type=checkbox id="F">F<br> 
     <input type=checkbox id="G">G 
     </form> 
     <button type=button onclick="fungsi()">The Chord Is</button> 
     <p id="chord"></p> 
    </body> 
</html> 
+3

= это задание, вы хотите == для проверки равенство –

+1

Кроме того, похоже, что вы ge tting проверенный атрибут в этой строке 'var c = document.getElementById (« C »). checked', а затем попытаться снова получить проверенный атрибут c здесь' c.checked'. Вам нужно сделать это только один раз. –

+0

СПАСИБО !! поэтому я просто изменил его на >> if (c == true && g == true..и т.д.) .. он работает! : D –

ответ

2

if (c.checked=true) и подобное должно быть просто if (c.checked).

if (f.checked=false) и аналогичным должно быть просто if (!f.checked).

Если вы хотите, вы можете сделать if (c.checked==true) или if (c.checked===true), а так же if (f.checked==false) или if (f.checked===false), но это бессмысленно подавляющее большинство времени. У вас уже есть булевское значение. Достаточно if (c.checked) и if (!f.checked).

Например:

if (c.checked && 
    e.checked && 
    g.checked && 
    !f.checked) { 
    document.getElementById("chord").innerHTML = "C Chord"; 
} 

Отдельно в качестве crclayton points out, вы либо хотите:

var c=document.getElementById("C").checked; 
var d=document.getElementById("E").checked; 
// ...and so on..., and then: 
if (c && e && g && !f) 

или

var c=document.getElementById("C"); // <== No .checked 
var d=document.getElementById("E"); // <== 
// ...and so on..., and then: 
if (c.checked && 
    e.checked && 
    g.checked && 
    !f.checked) {