我正在进行HTML5
测验,我正在使用yes
或no
个问题的单选按钮,然后为每个单选按钮指定值{{1} }或0
,然后将数值存储为变量,然后将所有变量一起添加到测验中。
UPDATE !!!
喂!我做了你建议的更改,但是当我调用变量时,它仍然是未定义的:
这是我的HTML:
1
这是我的JavaScript:
<form class="answer" id="question_one">
<input type="radio" class="styled" name="first_answer" value="1"/><!-- POSITIVE ANSWER -->
<div class="answer_text">Yes</div>
<input type="radio" class="styled" name="first_answer" value="0" /><!-- NEGATIVE ANSWER -->
<div class="answer_text">No</div>
</form>
}); 我试图通过仅针对名称= first_asnwer的Radio Buttons来为jQuery对象添加更多特异性。也许我搞砸了?
答案 0 :(得分:3)
我认为您的问题是对$(document).ready()
功能的理解。一旦加载了页面的所有依赖项,就会执行此函数 - CSS,JavaScript等...
您可以在执行此功能后立即设置变量,这可能是在您点击第一个单选按钮之前!这里的解决方案是仅在用户完成应答后计算值。可能是无线电元素的变化事件 -
$(document).ready(function () {
$('input:radio').on('change',function(){
var $first_question = parseInt($("input[name=first_answer]:checked").val());
var $second_question = parseInt($("input[name=second_answer]:checked").val());
$first_question = $first_question? $first_question : 0;
$second_question = $second_question? $second_question : 0;
var $total_score = $first_question + $second_question;
alert($total_score);
});
});