使用按钮值编辑文本,然后存储在数组中以比较答案

时间:2013-04-24 18:01:22

标签: jquery arrays

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)

此屏幕上的文字会说明 或 更正:你回答_ _(无论用户点击了什么)或不正确,使用相同的东西

1 个答案:

答案 0 :(得分: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"));
        }
    });
})