带有html和jquery的评估工具

带有html和jquery的评估工具,jquery,html,radio,Jquery,Html,Radio,我正在制作这个评估工具,它使用单选按钮选择成绩并显示总结果,也就是使用jquery的不同因素的总和。我可以做总结,但我不知道当我改变成绩时如何减去之前选择的值 当前JQuery $('input[type=radio]').click(function(){ var x= parseInt($(this).val()); if ($('#weeh:not(:empty)').text()){ var y= parseInt($('#weeh').text())

我正在制作这个评估工具,它使用单选按钮选择成绩并显示总结果,也就是使用jquery的不同因素的总和。我可以做总结,但我不知道当我改变成绩时如何减去之前选择的值

当前JQuery

 $('input[type=radio]').click(function(){
    var x= parseInt($(this).val());
    if ($('#weeh:not(:empty)').text()){
        var y= parseInt($('#weeh').text());
        var z= x+y;
        $('#weeh').text(z);
    }else{
        $('#weeh').text(0);
    }

  });
预期的行为是: 例如,如果我单击“糟糕”,它会添加4,但如果我想将其更改为“好”,它必须减去4,然后在结果中添加1

非常感谢您的帮助。

请尝试此代码

$('input[type=radio]').change(function () {
    var total = 0;
    $("input[type=radio]:checked").each(function () {
        var x = parseInt($(this).val());
        total += x;
    });
    $('#weeh').text(total);
});

事实上,你不应该关心之前所做的加法和减法。每次更改任何单选按钮时,只需重新执行整个计算并显示结果。您知道您的JQuery。感谢您不需要中间变量
x
,只需执行
total+=parseInt($(this).val(),10)@stackErr:是的,你可以避免它。但在这种情况下没有害处:)