Если установлено несколько флажков - измените innerHTML - PullRequest
0 голосов
/ 01 февраля 2020

Я создаю ответную викторину, которая меняется в зависимости от ответа, выбранного вами с помощью PHP и Javascript.

Это рабочий пример сценария переключателя, который изменяет внутренний HTML в зависимости от того, какой ответ вы выбрали. Используя PHP, чтобы записать значение как 'AQN20'

        $(function () {
            $("input[name=AQN2]:radio").click(function () {
                    if ($('input[value=AQN20]:checked').val()) {

                        document.getElementById("MCA2").innerHTML = "this is right";
                    } 

                    else {
                        document.getElementById("MCA2").innerHTML = "this is wrong";
                    }
            });
        });

Я пытаюсь повторить то же поведение для флажков, но рассмотрим несколько ответов.

Итак, у меня есть PHP массив, где вы вводите свои ответы.

$multipleCheckboxOptions = array(
        'Option A',
        'Option B',
        'Option C',
        'Option D'
        );

Затем я создаю каждый ответ в виде флажка и назначаю ключ массива значению. Таким образом, в приведенном ниже примере это будет первая опция в массиве (пример вывода HTML).

<input type="checkbox" name="AQN1" class="checkbox Q1" value="0" id="0mcq">

Затем у меня есть другой массив, в котором вы можете выбрать правильные ответы.
$correctAnswerNumber = array(0,2) В этом случае ответы 1 и 3 будут правильными.

Ниже показано, где я в настоящее время застрял для флажка поведения, используя PHP,

        $(function () {
            $("input[name=<?php echo $uniqueIDAnswer ?>]:checkbox").click(function () {

                    if ($('input[value=<?php echo $correctAnswerNumber?>]:checked').val()) {

                        document.getElementById("CA<?php echo $mcanumber?>").innerHTML = "<?php echo $correctAnswerDescriptionAnswer ?>";
                    } 

                    else {
                        document.getElementById("CA<?php echo $mcanumber?>").innerHTML = "<?php echo $incorrectAnswerDescriptionAnswer ?>";
                    }
            });
        });

Мне нужен тег [value =] ($ correctAnswerNumber) для вывода 0 && 3 'input[value=<?php echo $correctAnswerNumber?>]:checked'

Надеюсь, я объяснил это достаточно четко! Извините, если это сбивает с толку.

1 Ответ

0 голосов
/ 01 февраля 2020

Это должна быть RadioButtonGroup вместо CheckBoxGroups, а также создать еще одну переменную, называемую «Ответ», и в которой помещается истинный ответ, установить переключатель «Ответ» и выбрать логический ответ c. Это будет ваш правильный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...