显示单选按钮值总计

时间:2013-08-07 15:20:59

标签: javascript radio-button radiobuttonlist

我正在制作一个交互式核对清单,需要计算用户选择的“是”和“否”答案的数量,并在警告框或页面上显示总数。 “是”答案的值为1,“否”的值为0。

问题是,当我点击总按钮时,它会显示每个答案的值,然后显示总数 - 我只需要它来显示总数。

我已经开始寻找解决方案了,我根据已经发现的内容修改了代码。我对javascript很新,所以我必须遗漏一些东西。

以下是代码:

    <script type="text/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;


   {
   $("#btn").click(function() {
   alert($total_score);
   });
   };

   });
   });
   //--></script>

这是我的HTML:

    <p id="first_question">First Question<input name="first_answer" class="styled"    type="radio" value="1" /><!-- POSITIVE ANSWER -->Yes <input name="first_answer" class="styled" type="radio" value="0" /><!-- NEGATIVE ANSWER -->No</p>
    <p id="second_question">second question <input name="second_answer" class="styled" type="radio" value="1" /><!-- POSITIVE ANSWER -->Yes <input name="second_answer" class="styled" type="radio" value="0" /><!-- NEGATIVE ANSWER -->No</p>
    <input id="btn" type="button" value="See total" /> <input type="reset" value="Reset" /></body>

1 个答案:

答案 0 :(得分:0)

this你想要的是什么吗?

var $total_score = 0;

$(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;
        $total_score = $first_question + $second_question;
    });

   $("#btn").click(function() {
       alert($total_score);
    });

});

如果是,那么您的错误就是每次单选按钮更改值时都会向单击按钮添加一个事件。