0

私はオンライン音楽ストアに取り組んでいます。myplaylistsなどのボタンがありますmydownloads。これらのボタンをクリックすると、それに応じて曲のリストがグリッド ビューに表示されます。

問題は、ボタンを 2 回すばやくクリックすると、リストが 1..4..8 1..4..8 のように 2 回表示され、3 回すばやくクリックすると 3 回表示されることです。append()リストに曲を追加します。

これらは Firefox でのみ発生します

問題がわかりません。

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

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

2 に答える 2

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);
  }
});
于 2009-09-24T12:14:24.540 に答える
0

試す

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

それ以外の

$(tableCont).appendTo('table#songList');
于 2009-09-24T12:31:01.970 に答える