Javascript 将单击的值添加到存储值查询

Javascript 将单击的值添加到存储值查询,javascript,jquery,Javascript,Jquery,这是一个测验。用户有一个问题,可以选择三个答案。答案是按钮。每个按钮都有一个值。当用户单击按钮时,它会给出一个值,然后进入下一个问题。这个过程通过一系列的7个问题重复。在这个过程中,我希望它添加每个单击的值,并在最后累积总数 我不确定是否应该为此创建一个循环?我还想指出的是,这是在不刷新页面的情况下完成的,在测试的不同部分使用.show和.hide功能 谢谢你的帮助 以下是按钮: 答案1 答复2 答案3您可以在末尾添加最后一个按钮,例如: <button id="finalbutton"

这是一个测验。用户有一个问题,可以选择三个答案。答案是按钮。每个按钮都有一个值。当用户单击按钮时,它会给出一个值,然后进入下一个问题。这个过程通过一系列的7个问题重复。在这个过程中,我希望它添加每个单击的值,并在最后累积总数

我不确定是否应该为此创建一个循环?我还想指出的是,这是在不刷新页面的情况下完成的,在测试的不同部分使用.show和.hide功能

谢谢你的帮助

以下是按钮:

答案1
答复2

答案3
您可以在末尾添加最后一个按钮,例如:

<button id="finalbutton">Get Results</button>

你可以把所有问题放在同一页上。 当用户完成问题时,隐藏已完成的问题并显示下一个未回答的问题


每次有人回答问题时,将所选答案添加到您的提交表单中。当用户完成所有问题后,显示提交按钮,让其中一人提交答案。

您可以使用下面的代码,并在此处的末尾显示总和

试试这个:

$(“按钮”)。单击(函数(){
var curScore=parseInt($(“span”).text(),10);
var newScore=parseInt($(this).val(),10);
$(“span”).text(curScore+newScore);
$(this.parent().hide();
$(this.parent().next().show();
});
。问题{显示:无;}

问题1
答复1
答复2
答复3
问题2
答复1
答复2
答复3
问题3
答复1
答复2
答复3
最后的分数是0

您应该使用
parseInt($(this).attr('value'),10)进行解析以确保正确的基数。这种解决方案的缺陷在于,如果您允许用户更改答案(或者可以说是“返回”),那么它将继续添加到总分数中,超过最大分数。我个人会将每个答案存储为一个对象或数组,并在需要时求和这些值。这个解决方案非常有效!非常感谢。对于这一点,他们将无法返回并更改他们的答案,因此不必担心。谢谢你指出这一点。如果你想用干净的代码实现可伸缩性,就进入一些MVVM,比如knockout.js为什么你要建议OP已经提到的他们正在尝试做的事情?OP已经表示他们正在同一页面中显示它们,并使用显示/隐藏功能。问题在于将与按钮相关的值相加。这并不能回答问题,OP说他已经在这样做了!您应该使用
parseInt($(this.val(),10)进行解析以确保正确的基数。这也很有效。谢谢你在这方面的帮助!我想知道,我想更多的风格按钮区域,并希望他们在一个列表格式(
  • )。我已经更新了您的代码,但我希望它们在使用此
  • 格式时并排显示,而不是堆叠显示。我试图更新显示:内联块;这里:但这不起作用。你有什么建议吗?
    var accumValue = 0;
    
    $("button").on('click', function() {
    
        if(!$(this).attr('value')) {
            return;
        }
    
        accumValue += parseInt($(this).attr('value'));
    });
    
    $('#finalbutton').on('click', function() {
        alert(accumValue);
    }); 
    
    var sum= 0;
    $("button").click(function() {
            sum = sum + parseInt($(this).val());
            //alert(sum);
    });