使用jQuery从单选按钮输入存储数值

时间:2013-02-05 18:33:37

标签: javascript jquery html forms radio-button

我正在进行HTML5测验,我正在使用yesno个问题的单选按钮,然后为每个单选按钮指定值{{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对象添加更多特异性。也许我搞砸了?


1 个答案:

答案 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);
  });
});

Here is a simple demo