I am new to HTML and JavaScript and I am trying to write the function solution that will return a integer score verifying how many check-boxes selected by the user are correct. The function should_be_checked(question_index, choice_index) is already defined which returns true if the answer is correct or else returns false. I want to use the function should_be_checked inside my solution function to evaluate the score. How do I get the input values in an array from the HTML form and then generate the score using the array values against the correct values from the should_be_checked function. For example: If i do should_be_checked(2, 2) it will return true as it is the right answer. question_index and choice_index are the values passed as argument to should_be_checked function. The solution() function will be called on a button click once the user selects the check-boxes.
function solution() {
var score = 0;
$("input[type=checkbox]").each(checkbox => {
let args = checkbox.attr("id").split("-"); // Split at the dashes to get an array containing ["choice", "1", "2"]
args.shift() // Remove the first element that says "choice"
if (checkbox.prop("checked") !== should_be_checked(...args)) {
score = score + 1; // Increment the score
});
return score;
}
<form>
<fieldset id="question-1">
<legend>Easy question</legend>
<input type="checkbox" id="choice-1-1" checked>Incorrect answer</input>
</fieldset>
<fieldset id="question-2">
<legend>Another sample question</legend>
<input type="checkbox" id="choice-2-1">Sample incorrect answer</input><br>
<input type="checkbox" id="choice-2-2" checked="checked">Sample correct answer</input>
</fieldset>
</form>
should_be_checkedfunction in the code provided here -- just an emptysolutionfunction.