0
嘿那裏, 同樣,我一直在尋找一個解決方案,找出爲什麼一個函數,不會被調用......並猜測是什麼,我沒有找到。
我有一個表單,我使用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上測試代碼。
謝謝!
Score是一個Lawnchair對象:)並且它支持.each()函數。如果我設置了一個時間間隔,允許我連續兩次調用每個函數,那麼它的工作原理是0_°? – gabrielstuff 2011-03-13 16:30:39