2016-07-14 6 views
1

この関数を使用して、一時配列に複数のオブジェクトを追加しようとしました。jqueryで機能する配列を渡す方法jaudio

var temp = []; 
 

 
function addSong(id) { 
 
    var button = $('#' + id + ''); // Button that triggered the modal 
 
    var file = button.data('file'); // Extract info from data-* attributes 
 
    var thumb = button.data('thumb'); // Extract info from data-* attributes 
 
    var trackName = button.data('track_name'); // Extract info from data-* attributes 
 
    var trackArtist = button.data('track_artist'); // Extract info from data-* attributes 
 
    var trackAlbum = button.data('track_album'); // Extract info from data-* attributes 
 

 
    temp += "{file:'" + file + "',thumb:'" + thumb + "',trackName:'" + 
 
     trackName + "',trackArtist:'" + trackArtist + "',trackAlbum:'" + trackAlbum + "'},"; 
 

 
    $("#player").jAudio({ 
 
     playlist: [] 
 
    }); 
 
}

答えて

0

あなたはオブジェクトの配列ではない文字列を渡す必要があります。

$("#player").jAudio({ 
    playlist: [{ 
     file: "resources/tracks/01.mp3", 
     thumb: "resources/thumbs/01.jpg", 
     trackName: "Track 1", 
     trackArtist: "Artist 1", 
     trackAlbum: "Album", 
    }, { 
     file: "resources/tracks/02.mp3", 
     thumb: "resources/thumbs/02.jpg", 
     trackName: "Track 2", 
     trackArtist: "Artist 2", 
     trackAlbum: "Album", 
    }] 
}); 

以下のサンプルだからあなたのtemp変数が

var temp = { 
    file: file, 
    thumb: thumb, 
    trackName: trackName, 
    trackArtist: trackArtist, 
    trackAlbum: trackAlbum 
}; 

のようなものに変更し、更新され、質問に基づいて、アレイに

$("#player").jAudio({ 
     playlist: [temp] 
    }); 

をそれを使用するように、あなたはあなたを変更することができますjsはこのようなものに機能する

var temp = []; 

function addSong(id) { 

    var button = $('#' + id + ''); // Button that triggered the modal 
    var file = button.data('file'); // Extract info from data-* attributes 
    var thumb = button.data('thumb'); // Extract info from data-* attributes 
    var trackName = button.data('track_name'); // Extract info from data-* attributes 
    var trackArtist = button.data('track_artist'); // Extract info from data-* attributes 
    var trackAlbum = button.data('track_album'); // Extract info from data-* attributes 

    var tempObj = { 
     file: file, 
     thumb: thumb, 
     trackName: trackName, 
     trackArtist: trackArtist, 
     trackAlbum: trackAlbum 
    }; 

    temp.push(tempObj); 

    $("#player").jAudio({ 
     playlist: temp 
    }); 
} 
+0

はい私はこれを試しました。 1つのオブジェクトに対してのみ正常に動作しています。しかし、同時に複数のオブジェクトを追加する必要があります。私はそのための関数を作成します。上記のコードはその機能の一部でした。関数が呼び出されると、現在のオブジェクトの後に一時オブジェクトを保持することによって、一時的な配列にデータを追加します。 –

+0

@UdaraSuranga機能全体をポストします。 –

+0

私は関数全体を使ってコードを編集しました。 –

関連する問題