0

http://jsfiddle.net/Victoriamisu/jKvvU/

用户将看到给定的 n 个字母,比如说两个,然后将在小提琴中显示屏幕并单击他们看到的两个字母。

假设首先显示的字母数组是

var letters = new Array();
            letters = [
                { seq:  1, correct: 'C', display:"C", response:" "},
                { seq:  2, correct: 'X',  display:"X", response:" "}

            ];

我想要它,这样当用户单击其中一个按钮时,比如说她单击 C,它会将 C 打印到第一个框中,然后将他/她选择的任何内容打印到小提琴右侧的下一个框中。

之后,单击输入按钮将显示一个新屏幕,将答案与正确答案进行比较。因此 .response 将更新并与 .correct 进行比较。

我可以在我的屏幕数组中加载一个新屏幕,但我该如何做才能存储每个按钮的值作为响应?

我在想类似的东西

if( screens[curScreen].lettershow )   // I have the screen set so that it's lettershow:true
                {

            var responseRaw = new String;

            letters[curTrial].response = responseRaw;

并以某种方式使其显示 responseRaw = $("#C").val(); (不确定 val 是否正确,而 C 只是这些按钮中的任何一个的按钮 ID)

此屏幕上的文本将显示正确:您回答了 _ _(无论用户单击了什么)或错误,使用相同的内容

4

1 回答 1

0

我更新了您的 jsfiddle,以便将用户单击的字母添加到右侧面板。 http://jsfiddle.net/jKvvU/5/

我使用了以下jQuery:

$(document).ready(function() {
    $(".btnControlLeft").on("click", function() {
        var letterbox = 1;
        while (letterbox < 7 && $("#" + letterbox).html() != "&nbsp;") {
            letterbox++;
        }

        if (letterbox < 7) {
            $("#" + letterbox).html($(this).attr("id"));
        }
    });
})
于 2013-04-24T18:13:10.680 回答