Динамическое добавление значений из переключателей в массив, а затем добавление этих значений вместе для результата с помощью jquery - PullRequest
0 голосов
/ 17 декабря 2010

Я в основном работаю над тестом, и все, что я хочу сделать, это получить значения из выбранных переключателей, сложить их вместе и вернуть результат.Всего 8 вопросов.Но способ, которым функционирует этот тест, состоит в том, что есть кнопки «предыдущий» и «следующий», которые позволяют пользователю вернуться назад и изменить свои ответы.Поэтому мне нужно было бы получить значение для этого конкретного вопроса и заменить его новым значением, если пользователь решит изменить свой ответ.Все вопросы находятся на странице статически и просто показаны и скрыты с помощью jquery.Просто нужна помощь.Не нужно публиковать на сервере.Просто нужно сохранить результаты и вернуть итоги после завершения работы пользователя.У меня нет кода для отправки, чтобы начать этот процесс.Благодарю.Я надеюсь, что это имеет смысл.

1 Ответ

0 голосов
/ 17 декабря 2010

Обновлено , чтобы ответить на дополнительные вопросы в комментариях

Привет, Брайан,

Вероятно, лучше создать обработчик onChange и сохранить ответы в объекте, например:

$(document).ready(function(){
    answers = new Object()
    $('.option').change(function(){
        var answer = ( $(this).attr('value') )
        var question = ( $(this).attr('name') )
        answers[question] = answer
    })
    $('#done').click(function(){
        var result = sum_values()
        // do stuff with the result
        alert('the sum of the recorded values is: ' + result)
    })
})

function sum_values(){
    var the_sum = 0
    for (question in answers){
        the_sum = the_sum + parseInt(answers[question])
    }
    return the_sum
}


<input class='option' type="radio" name="question1" value="1">answer 1 to Q1<br>
<input class='option' type="radio" name="question1" value="2">answer 2 to Q1<br>
<hr>
<input class='option' type="radio" name="question2" value="1">answer 1 to Q2<br>
<input class='option' type="radio" name="question2" value="2">answer 2 to Q2<br>
<span id='done' style='cursor:pointer;'>done</div>

это оставит вас с объектом ответов, который обновляется каждый раз при выборе или изменении радиоблока. Вы можете суммировать значения, вызывая sum_values ​​(), в этом примере, когда пользователь нажимает «Done».

Надеюсь, это поможет,

Hoff

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