Using the following code, I'm getting 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 don't understand why this is the case? i isn't being defined by the if statement?
I'm trying to display each name in an array, before picking a random name and displaying it in a large font with "WINNER!" above it.
Thanks in advance,
Student_Nameproperty? You may have some other objects in your array.ibefore the error occurs? I guess it's referring to some prototype function (which is why not to usefor inon arrays).