Привет,
Опять же, я искал решение, чтобы выяснить, почему функция не вызывается ... и угадайте, что я не нашел.
У меня есть форма, которую я отправляю, используя jQuery Ajax. При ошибке я получаю все локальные данные, получаю их, сортирую и показываю пользователю.
Вот пример кода:
$.ajax({
type: "POST",
url: "http://xxx/register.php",
data: form,
success: function(msg){
//console.log("Data Saved: " + msg);
$.iGrowl(2,stringdata[4]);
var data = parseJSON(msg);
if(data.msg.score != undefined){
var cpt = 0;
$.each(data.msg.score, function(index,el){
if(cpt<8){
if(el.selected)
$('tbody').append('<tr class="win"><td>' + el.name + '</td><td>' + el.score + '</td></tr>');
else
$('tbody').append('<tr><td>' + el.name + '</td><td>' + el.score + '</td></tr>');
}
});
}
else{
$.iGrowl(3,"Erreur inconnue...");
}
$("#scorediv").css("visibility","visible");
$( "#formule" ).css('opacity',0);
$( "#scorediv" ).css('opacity',1);
},
error: function(data) {
cpt = 0;
var i = 0;
score.each(function(r){
arrayScore[i] = r;
i++;
});
arrayScore.sort(function(a, b){
console.log("sorting...");
if(a[3])
{
if(b[3])
{
return (b[3].value - a[3].value); //causes an array to be sorted numerically and descending
}
}
});
$.each(arrayScore, function(index,el){
//arrayScore.forEach(function(el) {
//score.each(function(el){
if(cpt<8)
{
if(el[2].value == form[2].value)
$('tbody').append('<tr class="win"><td>' + el[1].value + '</td><td>' + el[3].value + '</td></tr>');
else
$('tbody').append('<tr><td>' + el[1].value + '</td><td>' + el[3].value + '</td></tr>');
cpt++;
}
else
return false;
});
var user = form;
store.save(user, function(r) {
});
$.iGrowl(3,stringdata[5]);
$("#scorediv").css("visibility","visible");
$("#formule").css('opacity',0);
$( "#scorediv" ).css('opacity',1);
}
});
Мой массив никогда не сортируется. Если я изменю эту часть:
var i = 0;
score.each(function(r){
arrayScore[i] = r;
i++;
});
этим:
score.each(function(r){
arrayScore.push(r);
});
arrayScore никогда не заполняется.
Я пытаюсь выполнить каждую строку в консоли шаг за шагом, это работает .... Я немного схожу с ума ... и я действительно не знаю, что могло произойти?
Любая помощь будет благодарна!
P.S .: Я использую jQuery1.5 + Lawnchair и CSS3 анимацию.
Код проверен на Safari и Chrome.
Спасибо!