繁体   English   中英

脚本返回错误值

[英]Script returns a wrong value

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

$( 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

它正在打印写入。 您递增错误,请在按下下一步按钮时将 i 递增一次。

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

我在这里更新了 jsfiddle 链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM