1

我正在尝试使用数组更新 userPoints 文本框。

var points = new Array();    
points[0] = [10];
points[1] = [15];
points[2] = [5];
points[3] = [10];
points[4] = [15];
points[5] = [10];
points[6] = [15];
points[7] = [10];
points[8] = [15];
points[9] = [15];  

function rightOrWrongAnswer(){
    $("#choiceSelector > ol > li").click(function() {
        // for userChoice when they click, turn it into text
        var userChoice = $(this).text();

        // userChoice equals answers    
        if(userChoice == answers[count]){

            // change that answer to green
            $(this).css("color", "green");

我认为这是下面这一行的问题。

// update the points box
userPoints += points[0];

或者可能是我在此处更新文本框时

        $("#userPoints").val(points[count]);
    }
});
4

2 回答 2

1

由于您points是一个数组数组,因此您需要通过索引访问它

// update the points box
userPoints += points[count][0];
$("#userPoints").val(points[count][0]);
$("#totalScore").val(userPoints);

相反,如果您定义points如下,您的代码将可以工作

var points = [ 10, 15, 5, 10, 15, 10, 15, 10, 15, 15 ];
userPoints += points[count];
$("#userPoints").val(points[count]);
$("#totalScore").val(userPoints);

经过一些边界检查后,这里是一个工作小提琴

小提琴

于 2013-11-14T08:44:23.833 回答
0

从 rightOrWrongAnswer() 移动以下块

// move to the next question in counter
            count++;

显示下一个问题(){

http://jsfiddle.net/devmgs/SL7bP/2/

计算点不在正确的位置再次检查它们这是一个示例,您的答案正在转移到下一个问题的答案。使用警报检查发生了什么。

于 2013-11-14T06:02:19.477 回答