2016-07-14 3 views

답변

0

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: [] 
 
    }); 
 
}

당신은하지 문자열을 객체의 배열을 전달해야합니다.

아래의 예제처럼
$("#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", 
    }] 
}); 

그래서

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

예. 나는 이것을 시도했다. 하나의 객체에 대해서만 잘 작동합니다. 하지만 동시에 두 개 이상의 객체를 추가해야합니다. 나는 그것을위한 함수를 만든다. 위의 코드는 그 기능의 일부였습니다. 함수가 호출 될 때 이전 객체를 유지하여 현재 객체 뒤에 임시 배열에 데이터를 추가하려고합니다. –

+0

@UdaraSuranga 전체 기능 게시. –

+0

방금 ​​전체 기능으로 코드를 편집했습니다. –

관련 문제