The code below does not work. It receives data in JSONʻe, but the show_question function does not work.
var answer; var id_quest; var III = 0; var total = 0; var right = 0; var wrong = 0; var right_one_string; var arrObj =[]; //load_quests(); function show_question(array) { // $('#luna').css('border','3px solid red'); //console.log(array); //console.log(array["q"]); // console.log(array["explanation"]); //console.log(array["w1"]); right_one_string = array["r"]; // console.log(right_one_string); $("#next").attr("class","btn btn-success hidden"); $("#expl").attr("class","panel panel-info hidden"); $("#str1").attr("class", "btn btn-info"); $("#str2").attr("class", "btn btn-info"); $("#str3").attr("class", "btn btn-info"); $("#str4").attr("class", "btn btn-info"); $("#qb").text(''); $("#heading").text(''); var X =0; X = III; $("#heading").text('Вопрос № '+ (X+1)); $("#id_quest").text(''); $("#str1").text(''); $("#str2").text(''); $("#str3").text(''); $("#str4").text(''); $("#explanation").text(''); $('#qb').append(array["q"]); $('#id_quest').append(array["id_quest"]); $("#explanation").append(array["explanation"]); var innerArr = new Array(); innerArr[0]=array["r"]; innerArr[1]=array["w1"]; innerArr[2]=array["w2"]; innerArr[3]=array["w3"]; var arr = new Array(); arr= severalRandom(1,4,4); for(var i=0; i<innerArr.length; i++) { $('#str'+arr[i]).append(innerArr[i]); } } function load_quests() { $.getJSON("../ajx.php", function(result) { $.each(result, function (i,field) { var myArr = new Object(); id_quest = field.id_quest; q = field.quest_body; r= field.right_ans; w1=field.wrong_1; w2=field.wrong_2; w3=field.wrong_3; explanation=field.explanation; var myArr = new Object(); myArr["q"] = q; myArr["r"] = r; myArr["w1"] = w1; myArr["w2"] = w2; myArr["w3"] = w3; myArr["id_quest"] = id_quest; myArr["explanation"] = explanation; arrObj.push(myArr); }); } ); //return arrObj; } function severalRandom(min, max, num) { var i, arr = [], res = []; for (i = min; i <= max; i++ ) arr.push(i); for (i = 0; i < num; i++) res.push(arr.splice(Math.floor(Math.random() * (arr.length)), 1)[0]) return res; } function show_results() { var step =1; var id_user; var score = 0; id_user = $("#id_user").text(); score = (100*right)/total; $.post("../put_score.php", { 'trn': step, 'id_user': id_user }, onAjxSuccess ); function onAjxSuccess(data) { if(data=="OK") { // Здесь мы получаем данные, отправленные сервером и выводим их на экран. alert("При прохождении тренировочного теста\nВы набрали "+score.toFixed(0)+" балов из 100 возможных."); } else { alert("Произошла ошибка соединения с сервером.\nПопробуйте позже."); } } } function check_answer(id,a_answer){ $("#expl").attr("class","panel panel-info"); $.getJSON("../check_answer.php?id_quest="+id+"&answer="+a_answer, function (result) { $.each(result, function(i, field){ if(field=='0') wrong++; if(field=='1') right++; }); } ); } $("#str1").click(function () { answer = $('#str1').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $("#str2").click(function () { answer = $('#str2').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $("#str3").click(function () { answer = $('#str3').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $("#str4").click(function () { answer = $('#str4').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $(document).ready(function(){ load_quests(); $("#getJSON").click(function(){ // var questions = new Questions(); console.log(arrObj); total = arrObj.length; console.log(total); console.log(arrObj[0]); show_question(arrObj[0]); III++; $("#next").click(function () { if(III<arrObj.length) { show_question(arrObj[III]); III++; } else { show_results(); } }); }); }); But when the code was in this form, everything worked perfectly, I just wanted to streamline it a bit.
var arrObj = []; var answer; var id_quest; var III = 0; var total = 0; var right = 0; var wrong = 0; var right_one_string; $(document).ready(function(){ $("#getJSON").click(function(){ $.getJSON("../ajx.php", function(result) { var i = 1; $.each(result, function(i, field){ console.log(field); id_quest = field.id_quest; q = field.quest_body; r= field.right_ans; w1=field.wrong_1; w2=field.wrong_2; w3=field.wrong_3; explanation=field.explanation; var myArr = new Object(); myArr["q"] = q; myArr["r"] = r; myArr["w1"] = w1; myArr["w2"] = w2; myArr["w3"] = w3; myArr["id_quest"] = id_quest; myArr["explanation"] = explanation; arrObj.push(myArr); }); $("#cont").attr("class", ""); $("#getJSON").attr("class", "hidden"); total = arrObj.length; show_question(arrObj[0]); III++; function severalRandom(min, max, num) { var i, arr = [], res = []; for (i = min; i <= max; i++ ) arr.push(i); for (i = 0; i < num; i++) res.push(arr.splice(Math.floor(Math.random() * (arr.length)), 1)[0]) return res; } function show_question(array) { right_one_string = array["r"]; $("#next").attr("class","btn btn-success hidden"); $("#expl").attr("class","panel panel-info hidden"); $("#str1").attr("class", "btn btn-info"); $("#str2").attr("class", "btn btn-info"); $("#str3").attr("class", "btn btn-info"); $("#str4").attr("class", "btn btn-info"); $("#qb").text(''); $("#heading").text(''); var X = III; $("#heading").text('Вопрос № '+ (X+1)); $("#id_quest").text(''); $("#str1").text(''); $("#str2").text(''); $("#str3").text(''); $("#str4").text(''); $("#explanation").text(''); $("#qb").append(array["q"]); $('#id_quest').append(array["id_quest"]); $("#explanation").append(array["explanation"]); var innerArr = new Array(); innerArr[0]=array["r"]; innerArr[1]=array["w1"]; innerArr[2]=array["w2"]; innerArr[3]=array["w3"]; var arr = new Array(); arr= severalRandom(1,4,4); for(var i=0; i<innerArr.length; i++) { $("#str"+arr[i]).append(innerArr[i]); } } $("#str1").click(function () { answer = $('#str1').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $("#str2").click(function () { answer = $('#str2').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $("#str3").click(function () { answer = $('#str3').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $("#str4").click(function () { answer = $('#str4').text(); id_quest = $('#id_quest').text(); check_answer(id_quest,answer); $("#next").attr("class","btn btn-success active"); if($("#str1").text() == right_one_string) { $("#str1").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str2").text() == right_one_string) { $("#str2").attr("class", "btn btn-success"); $("#str1").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str3").text() == right_one_string) { $("#str3").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); $("#str4").attr("class", "btn btn-danger"); } if($("#str4").text() == right_one_string) { $("#str4").attr("class", "btn btn-success"); $("#str2").attr("class", "btn btn-danger"); $("#str3").attr("class", "btn btn-danger"); $("#str1").attr("class", "btn btn-danger"); } }); $("#next").click(function () { if(III<arrObj.length) { show_question(arrObj[III]); III++; } else { show_results(); } }); function show_results() { var step =1; var id_user; var score = 0; id_user = $("#id_user").text(); score = (100*right)/total; $.post("../put_score.php", { 'trn': step, 'id_user': id_user }, onAjxSuccess ); function onAjxSuccess(data) { if(data=="OK") { // Здесь мы получаем данные, отправленные сервером и выводим их на экран. alert("При прохождении тренировочного теста\nВы набрали "+score.toFixed(0)+" балов из 100 возможных."); } else { alert("Произошла ошибка соединения с сервером.\nПопробуйте позже."); } } } function check_answer(id,a_answer){ $("#expl").attr("class","panel panel-info"); $.getJSON("../check_answer.php?id_quest="+id+"&answer="+a_answer, function (result) { $.each(result, function(i, field){ if(field=='0') wrong++; if(field=='1') right++; }); } ); } }); }); });