Почему мой результат всегда идет к «другому»? (приложение викторины) (JQuery) - PullRequest
0 голосов
/ 21 ноября 2019

Проблемы с тестированием if / else с моим приложением для викторины для школы. Он оснащен переключателями для выбора ответа и кнопкой отправки. Когда вы нажимаете «Отправить» на неправильном ответе, вы получаете предупреждение «Нет», но вы также получаете предупреждение «Нет», когда выбираете правильный ответ, даже если я установил «Да!»предупредить, когда вы выбираете правильный ответ. Не уверен, что я пишу неправильно ...

РЕДАКТИРОВАТЬ Я заметил, что поставил .val ('') в мой код ниже. Я исправил эту проблему после того, как на нее указали, и я все еще получаю те же результаты, изменив ее на .val ()

function submitAnswer() {
    $('.questionBox').on('submit', function(event) {
        event.preventDefault();
        $('.altBox').hide();
        $('.outcomeBox').show();
        let selected = $('input:checked');
        let answer = selected.val('');
        let correct = STORE[questionNumber].correctAnswer;
        if (answer == correct){
            alert('Yes!');
        } else {
            alert('No!');
        }
    });
}

Вот вопрос:

let questionNumber = 0;
const STORE = [
    {
        title: 'What year was Donkey Kong released?',
        answers: [
            '1980',
            '1981',
            '1982',
            '1983'
        ],
        correctAnswer:
            '1981'
    },

И мой Html /Вопрос создан

function createSetup(){
    $('.questionBox').html(`
    <form id="quiz" action='#'>
        <div class="questionTitle">
            <p>Question Title</p><br>
    </form>
    `);
};

function showQuestion(){
    let question = STORE[questionNumber];
    $('.questionTitle p').text(question.title);
    for(var i = 0; i < question.answers.length; i++) {
        $('#quiz').append(`<input type='radio' name='choices' id='${i}' required> ${question.answers[i]}<br>`)
    };
    $('#quiz').append(`<input type='submit'>`)
};

1 Ответ

0 голосов
/ 21 ноября 2019

Изменение let answer = selected.val('') to let answer = selected.val();

selected.val () возвращает значение, тогда как selected.val (значение) устанавливает значение.

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