我基本上正在进行测验,我想要做的就是从所选的单选按钮中获取值,将它们添加到一起并返回结果。共有8个问题。但这个测验的功能是有前一个和下一个按钮,允许用户返回并更改他们的答案。因此,如果用户选择更改其答案,那么我需要获取该特定问题的值并将其替换为新值。所有问题都在页面上静态显示,并通过jquery显示和隐藏。只是需要一些帮助。不需要发布到服务器。只需要保留结果并在用户完成后返回总数。我没有任何代码可以发布以启动此过程。谢谢。我希望这是有道理的。
答案 0 :(得分:0)
已更新以回答评论中的其他问题
嗨Brian,
最好创建一个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()来总结值,在此示例中,当用户单击“完成”时。
希望这有帮助,
霍夫