Using the following code, I get this error RewardPurchases.PurchasesArray[i].Student_Name is undefined :
$('button#random').click( function() { var Num = Math.floor(Math.random() * Total+1); Num--; for (var i in RewardPurchases.PurchasesArray) { $('#display').text("Ticker number " + Num + " in the LEAP database belongs to...\n\n\n" + RewardPurchases.PurchasesArray[i].Student_Name.toUpperCase() + " (" + TutorGroup + ")").show().delay(300); if (i == Num) { var TutorGroup = ''; Frog.API.get('timetable.getClasses', { 'params': {'student': RewardPurchases.PurchasesArray[i].Student_ID }, 'onSuccess': function(data) { for (var i = 0; i < data.length; i++) { if (data[i].subject.name == "Tut Period") { TutorGroup = data[i].name.replace("/Tp", ""); } } } }); $('#display').animate({'font-size': 36}, 1500, function() { $(this).prepend('<p>!!! WINNER !!!</p>'); }); alert("Ticker number " + Num + " in the LEAP database belongs to...\n\n\n" + RewardPurchases.PurchasesArray[i].Student_Name.toUpperCase() + " (" + TutorGroup + ")"); } } } );
However, if I move this line $('#display').text(... as follows, the error disappears:
$('button#random').click( function() { var Num = Math.floor(Math.random() * Total+1); Num--; for (var i in RewardPurchases.PurchasesArray) { if (i == Num) { var TutorGroup = ''; $('#display').text("Ticker number " + Num + " in the LEAP database belongs to...\n\n\n" + RewardPurchases.PurchasesArray[i].Student_Name.toUpperCase() + " (" + TutorGroup + ")").show().delay(300); Frog.API.get('timetable.getClasses', { 'params': {'student': RewardPurchases.PurchasesArray[i].Student_ID }, 'onSuccess': function(data) { for (var i = 0; i < data.length; i++) { if (data[i].subject.name == "Tut Period") { TutorGroup = data[i].name.replace("/Tp", ""); } } } }); $('#display').animate({'font-size': 36}, 1500, function() { $(this).prepend('<p>!!! WINNER !!!</p>'); }); alert("Ticker number " + Num + " in the LEAP database belongs to...\n\n\n" + RewardPurchases.PurchasesArray[i].Student_Name.toUpperCase() + " (" + TutorGroup + ")"); } } } );
I do not understand why this is so? i not determined by the if ?
I am trying to display each name in an array before choosing a random name and displaying it in large font using "WINNER!". over it.
Thanks in advance,
source share