通过使用jquery为jPlayer读取表中的歌曲来创建动态播放列表

时间:2013-05-02 17:04:14

标签: javascript jquery jplayer playlist

我正在使用JPlayer作为网站。 现在,我想从包含路径和艺术家名称的表创建播放列表。 现在我做的是我将表添加到页面,现在,使用forEach我尝试 阅读路径并将其添加到播放列表。但不知怎的,我很困惑.. 看一看 这是我用来抓取路径的代码,它工作正常

    <script type="text/javascript">
    $(document).ready(function () {
        $('#songsPathGridView tr').each(function () {
            if (!this.rowIndex) return; // skip first row
            var path = this.cells[0].innerHTML;
            alert(path);

        });
    });
</script>

现在这是我的播放列表(硬编码值)。现在,如果它是在HTML或我可以附加该路径的东西,但因为它的jquery代码请告诉我如何做到这一点.. 这是播放列表代码

  <script type="text/javascript">
    $(document).ready(function () {
        var songName = "Song1";
        var theArtist = "The Artist";
        var myPlaylist = [
            {
                mp3: 'music/Mad.mp3', oga: 'mix/1.ogg', title: songName, artist: theArtist,
            },
          {
              mp3: 'mix/EssentialViolet.mp3', oga: 'mix/2.ogg', title: songName, artist: theArtist, cover: 'mix/2.jpg'
          }
        ];
        $('body').ttwMusicPlayer(myPlaylist, {
            autoPlay: false,

            jPlayer: {
                swfPath: '../plugin/jquery-jplayer' //You need to override the default swf path any time the directory structure changes
            }
        });
    });
</script>

不知何故,我想获取文件路径并动态添加它。请帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

我想看看你用于表格的HTML代码,因为它会影响构造,但实际上这个方法应该有效:

$(document).ready(function () {

    var myPlaylist = [{}]; // Empty object to push into

    $('#songsPathGridView tr').each(function () {
        if (!this.rowIndex) return; // skip first row
        // Push each row's data into the myPlaylist variable
        // Expects MP3 path at column 0, title at column 1, artist at column 2
        myPlaylist.push( { mp3: this.cells[0].innerHTML, title: this.cells[1].innerHTML, artist: this.cells[2].innerHTML } );
    });

    $('body').ttwMusicPlayer(myPlaylist, {
        autoPlay: false,
        jPlayer: {
            swfPath: '../plugin/jquery-jplayer' //You need to override the default swf path any time the directory structure changes
        }
    });

});