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 に答える