0

ボタンの値でテキストを編集し、配列に格納して回答を比較する

@ user1333371 が私のフィドルをhttp://jsfiddle.net/jKvvU/5/に更新しました。これは、右側の空白の四角を変更して、押されたボタンの文字を表示するという点で素晴らしく機能します。

私が正しく取得できないのは、これらの値を取得して値を保存し、それらを正しい答えと比較することです。

私の配列は次のようになります

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

            ];

だから私は次のようなことを考えていました

 if (letters.response == letters.correct) 

しかし、最初にデータを保存する方法さえわかりません...

すべての答えが正しい場合、2 つすべてが正しく押され、画面に入ると div が表示され、「はい」と表示されたら、ユーザーの答えを出力します。ただし、1 つでも間違っている場合は、それらの回答も画面に表示されます。

または、応答なしでそれを行う別の方法があるかもしれません:" " 部分?

4

1 に答える 1

1

あなたがやろうとしていることを反映するようにフィドルを更新しました。http://jsfiddle.net/Udubg/4/

繰り返しになりますが、これはおそらく完璧な解決策ではありませんが、作成しようとしているものをどのように構築するかについてのアイデアを提供します.

 $(document).ready(function() {

           var correct  = [ 'C', 'X' ]
           ,   response = [];

$(".btnControlLeft").on( "click", function() {

    var letterbox = 1;
    while (letterbox < 7 && $("#" + letterbox).html() != "&nbsp;") {
        letterbox++;
    }

    if (letterbox < 7) {

        console.log("update " + letterbox);

       var letter = $( this ).attr( "id" );

        $("#" + letterbox ).html( letter );

        response.push( letter );

    }

});

$( '.btnControlEnter' ).on( 'click', function( e ){

    e.preventDefault();

    $.each( correct, function( index , value ){ 

          if( value === response[ index ] ) {

              console.log( 'Correct!',  response[ index ]  );

            } else{

             console.log( 'Wrong', response[ index ] );

            }   
    });
});
});
于 2013-04-25T18:02:30.073 に答える