JPlayer - 将字符串值发送回php

时间:2014-01-04 12:14:14

标签: javascript php jquery jplayer

我需要帮助才能修改此脚本。这个JPlayer脚本从 getsong.php 文件获取其URL数据,它工作正常,但我需要将一个字符串值发送回getsong.php文件,例如:

getsong.php?岩石

getsong.php?弹出

我需要使用这些“ OnClick ”链接发送此字符串值“”:

<a href="#" onclick="new_string('code=rock')">Rock</a>
<a href="#" onclick="new_string('code=pop')">Pop</a>

这是当前的jplayer脚本:

<script type="text/javascript">

var dataString_code

$(function() {
$(".new_string").click(function() {
var code = $("#code").val();
dataString_code = 'code='+ code;

return true;
});
});


$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
    ready: function () {
        var data = $.ajax({
          url: "getsong.php?"+ dataString_code,
          async: false
         }).responseText;

        string = data.split('|');
        $(this).jPlayer("setMedia", {
            mp3: string[0]
        }).jPlayer("play");

        $('ol#artist').html(string[1]);
        $('ol#songname').html(string[2]);

    },
    ended: function (event) {  
        var data = $.ajax({
          url: "getsong.php?"+ dataString_code,
          async: false
         }).responseText;

        string = data.split('|');
        $(this).jPlayer("setMedia", {
            mp3: string[0]
        }).jPlayer("play");


        $('ol#artist').html(string[1]);
        $('ol#songname').html(string[2]);

    },
    swfPath: "js",
    supplied: "mp3"

});
});

</script>

请帮助

感谢。

1 个答案:

答案 0 :(得分:0)

哈哈,好的:你正在调用你的函数onclick =“new_string('code = rock')”,它会触发一个函数的执行。完善。 但是这个功能没有定义,例如

var new_string = function(ev) {

}

而你正在使用: $(“。new_string”)。click(function(){ 这将把一个新的onClickHandler附加到一个不存在的元素(你使用的是jQuery“.classname”的类 - selektor,据我所知,没有元素具有类“new_string”。 所以你可以:

<a href="#" class="new_string">Rock</a>

 $(".new_string").click(function() {
    var oThis = $(this); // this points to the "a" - DOM - element
    var code = oThis.html();
    dataString_extra = 'code='+ code;

    return true;
  });

<a href="#" onclick="new_string('code=rock')">Rock</a>

var new_string = function(code) {
     dataString_extra = code;

    return true;
}