Checking checkboxes are checked in an IF statement
26,945
Solution 1
if(showShield.value == "ely" && (document.getElementById("cb3").checked || document.getElementById("cb4").checked))//comparison
{
document.getElementById("cb2").checked=true; //asignment
}
-
Operator Precedence:
&&
is done before||
so you need brackets -
==
, not=
for comparison (Preferably===
which will not automatically convert types and do a strict comparison) -
;
is a statement terminator and shouldn't be used in the middle of one.
Solution 2
if(showShield.value === "ely" && (document.getElementById("cb3").checked == true || document.getElementById("cb4").checked == true))
No need to use semicolon and use == instead of =. Also brackets are needed for condition.
Author by
Admin
Updated on September 12, 2020Comments
-
Admin over 3 years
I am currently having trouble making my IF statement work I want a user who selects shield "ely" and either selects textbox 3 or 4 would then automatically tick textbox 2.
This is my JavaScript code:
if(showShield.value == ("ely") && document.getElementById("cb3").checked = true; || document.getElementById("cb4").checked = true;) { document.getElementById("cb2").checked=true; }
This is probably wrong since it does not work so how would I be able to check is a user selects textbox 3 or 4.
Here is my HTML code:
<html> <head> <script type="text/javascript" src="myJavascript.js"></script> </head> <body> <select id="likeShield" onchange="showTicks()"> <option value="select1">Select</option> <option value="yesShield">Yes</option> <option value="noShield">No</option> </select> <select id="showShield" onchange="showTicks()"> <option value="select1">Select</option> <option value="arc">Arcane</option> <option value="ely">Elysian</option> <option value="spec">Spectral</option> <option value="anylist">Choose any</option> </select> <table border = "1"> <tr> <th> tickbox </th> <th> shield parts </th> <th> description </th> <th> cost </th> </tr> <tr> <td><input type="checkbox" id="cb1"></td> <td> arc sigil </td> <td> Large magic part </td> <td> 5m </td> </tr> <tr> <td><input type="checkbox" id="cb2"></td> <td> arc shield </td> <td> A extremely powerful magic shield </td> <td> 60m </td> </tr> <tr> <td><input type="checkbox" id="cb3"></td> <td> arc special item </td> <td> special element </td> <td> 10m </td> </tr> <tr> <td><input type="checkbox" id="cb4"></td> <td> elysian sigil </td> <td> A sigil found by dragons </td> <td> 50m </td> </tr> <tr> <td><input type="checkbox" id="cb5"></td> <td> elysian shield </td> <td> A extremely powerful ranging shield </td> <td> 40m </td> </tr> <tr> <td><input type="checkbox" id="cb6"></td> <td> elysian special item </td> <td> A special attack attached to shield </td> <td> 25m </td> </tr> <tr> <td><input type="checkbox" id="cb7"></td> <td> spectral sigil </td> <td> easily obtainable from goblins </td> <td> 4m </td> </tr> <tr> <td><input type="checkbox" id="cb8"></td> <td> spectral shield </td> <td> Impressive stats </td> <td> 15m </td> </tr> <tr> <td><input type="checkbox" id="cb9"></td> <td> spectral special item </td> <td> Does double damage </td> <td> 30m </td> </tr> </table> </body> </html>