脚本返回错误的值

时间:2016-04-28 13:00:37

标签: javascript jquery

我想知道为什么我的错误值。

$( document ).ready(function() {

    // Return a question
    function show_question(id, answer) {
        // Check if the answer is correct
        $('.check_answer_' + id).click(function() {
            alert(id);
            if($('#quiz_answer_q' + id + '_a' + answer).is(':checked')) { 
                $('.quiz_confirmation_wrong').hide();
                $('.explanation_q'+ id +', .next_question_'+ id +', .quiz_confirmation_correct').show('clip');
                $(this).css({ 'pointer-events' : 'none', 'opacity': 0.5 })
            }
            else {
                $('.quiz_confirmation_correct').hide();
                $('.quiz_confirmation_wrong').show('clip');
            }
        });
        // Go to next question
        $('.next_question_'+ id).click(function() {
            if($('#quiz_answer_q'+ id +'_a'+ answer).is(':checked')) { 
                var i = id;
                i++;
                $('.quiz_confirmation').hide();
                $('.quiz_field_'+ id).hide();
                $('#q'+ i++ +', .check_answer_'+ i++).show('bounce', 1000);             
            }
        });
    }

    show_question(1, 1);
    show_question(2, 2);

});

正如您在我的代码底部看到的,我使用不同的参数运行代码两次。第一次alert(id)返回 1 ,这是正确的。第二次返回 3 ,当需要 2 时,我用第一个参数指定它。那么为什么它会返回3而不是2?

更新

JSFiddle

1 个答案:

答案 0 :(得分:1)

这是打印写。你正在递减错误,请在你按下一个按钮时增加一次。

$('#q'+ i +', .check_answer_'+ i++).show('bounce', 1000);

I have update jsfiddle link here