JQuery多项选择测验脚本:如何确保正确的答案可用?

时间:2011-01-01 20:37:18

标签: jquery

我有一个功能。我将一个带有问题和答案列表的对象传递给它。我从等于对象中问题数的范围生成一个随机数。脚本检查是否询问了该问题,如果没有,则询问它,然后将正确的答案传递给变量correct。我想给出4个可能的答案,每个答案都从可能的答案列表中随机选择。我有这个。我只是想知道确保将正确答案放在列表中的最佳方法是什么。

到目前为止,这就是我所拥有的:它将四个答案放入四个目标框中。我想确保正确答案在随机选择的框中。为清楚起见:假设有四个.answer类(该程序将要采取四个答案),total_questions和答案是= 10.

function getRandom(limit) { 
    return Math.floor(Math.random() * limit ) 
}

$("#answers > .answer").each(function(i){
    r = getRandom(total_questions);
    $(this).text(answers[r])
});

1 个答案:

答案 0 :(得分:0)

您的实施允许任何答案选项可以显示两次。您可能希望有一个迭代问题的外部迭代器,然后在其中包含答案迭代器。

问题迭代器可以包含一个包含每个选定答案选项的数组(在对新问题进行操作时会重置)。选择的每个答案选项都可以放在数组中,并且可以在每个答案迭代中检查数组,以确保所选答案不存在(如果是,则继续选择直到不存在)

如果没有多个问题,那么您可以将我在“问题迭代器”中描述的所有内容放在全局范围内。

编辑要解决包含正确答案的问题,您可能需要生成介于0和n-1之间的随机数,其中n是该问题的答案选项数。然后,如果返回的数字是0(或该范围内的任何整数),则插入正确的答案。否则,选择另一个答案。

编辑2:如果在问题的最后一次回答迭代中未选择正确答案(如果正确答案不在问题的所选答案选择数组中),则应该插入答案。