AJAX を使用してデータベースからいくつかの行をロードしています。すべてのデータの中で最も重要なのは、オーディオ ファイルへのパスですuploads/song.mp3
。
コンテンツ div をクリアして$('#content').html('');
から、(jQuery.each を使用して) データをループします。テキストと<audio>
要素を含むコンテナーを作成し、曲のパスが属性に読み込まれsrc
ます。
問題は、すべての曲が再生されるわけではないということです。最初の読み込みで再生される曲と再生されない曲があります。次に、次のAJAXリクエストで、新しいデータを取得してすべてを削除すると#content
、単一の<audio>
要素が曲を再生しません。
コードの一部を次に示します。
$.ajax({
type: 'POST',
url: 'xxx.php',
data: {fr : fraza, ajax : true},
dataType: 'json'
}).success(function(retData) {
//console.log(retData);
$('#container').html('');
$.each(retData, function(index, value) {
var unos = value;
$('#glavni').append('<div class="pesma-item" id="pesma-id-'+ unos.id +'"><h2>' + unos.naziv + '</h2><img src="' + unos.note + '" alt="" /><div><p><pre>' + unos.temp + '</pre></p><br style="clear: both" /><audio controls preload="auto"><source src="' + unos.audio + '" type="audio/mpeg"></audio></div><br style="clear:both" /></div>');
$('#pesma-id-' + unos.id + ' audio')[0].load();
});
});
すべてaudio
の要素にファイルを強制的にリロードさせて、再生できるようにするにはどうすればよいですか?