2009-09-24 99 views
0

我正在在線音樂商店工作。有像myplaylists,mydownloads等按鈕... 點擊這些按鈕,歌曲列表相應出現在網格視圖。
問題是,當我點擊按鈕兩次快速列表出現兩次像1..4..8 1..4..8,如果我點擊三次快速它發生三次。顯示列表使用append()將歌曲添加到列表中。
這些事情只發生在Firefox上在Firefox中顯示重複記錄

我找不出這個問題。

function fillMyMusicSongGrid 
{ 
// code to fetch data from the database 
embedSongGrid(.....);//displays the grid 
} 

embedSongGrid(.....) 
{ 
    //displays the grid 
tableContent = '...............' 
$(tableCont).appendTo('table#songList'); 
} 
+2

你可以發佈附加函數的代碼嗎? – rahul 2009-09-24 12:12:29

+1

我想你應該發佈你的代碼,好像你需要重置一個變量之前追加... – NDM 2009-09-24 12:13:21

回答

0

如果我猜對了,按下這些按鈕可以讓Ajax回調到服務器來獲取信息,可能是一個JSON數組。然後,通過這些和append()循環到適當的div。無論是或者你得到的HTML只是追加它。

簡單的解決辦法:只empty()它,你添加它:

$.ajax({ 
    ... 
    success: function(data) { 
    $("#songlist").empty(); 
    for (song in data) { 
     $("#songlist").append(...); 
    } 
    } 
}); 

$.ajax({ 
    ... 
    success: function(html) { 
    $("#songlist").html(html); 
    } 
}); 
+0

感謝它真的工作 – Neal 2009-09-24 13:14:00

+0

但爲什麼我不會發生,如果我點擊它緩慢 – Neal 2009-09-24 13:34:11

0

嘗試

$(tableCont).empty(); 
$(tableCont).appendTo('table#songList'); 

,而不是

$(tableCont).appendTo('table#songList');