jqplot没有评估字符串

时间:2012-08-08 16:45:11

标签: php jquery jqplot

我正在使用jqplot并使用以下PHP代码构建了一个数组

if($fiveRes){
    $lastNum = mysql_num_rows($fiveRes);

    $testarray = array();

    while($row = mysql_fetch_array($fiveRes, MYSQL_ASSOC)) {
        $testarray[] = array($row['GameDate'],  floatval($row['WKP']));
    }

    echo json_encode($testarray);

}

此代码输出我需要插入jqplot函数的正确代码。这是上面代码生成的数组:

[["2011-12-24",0],["2011-12-19",14],["2011-12-08",22],["2011-12-04",14],["2011-11-27",12]]

所以目前我正在将这个数组打印到屏幕上,然后使用jQuery .text()来捕获字符串并将其放在变量中。我可以回应我分配数组字符串的var并且它可以正常工作,但是当我将它传递给jqplot函数时它什么都不做。

var p1array = $('.col.first .parray').text();

alert(p1array); //Alerts the correct array formatted like above.

    var plot1 = $.jqplot('jqplot0', [p1array], {
          title:'Last 5 Fantasy Points',
          axes:{
            xaxis:{
              renderer:$.jqplot.DateAxisRenderer,
              tickOptions:{
                formatString:'%b %#d'
              } 
            },
            yaxis:{
              tickOptions:{
                formatString:''
                }
            }
          },
          highlighter: {
            show: true,
            sizeAdjust: 7.5
          },
          cursor: {
            show: false
          }
      });

为了使它变得更复杂,如果我复制PHP生成的字符串并将其硬编码到JS中的变量中它可以工作。任何想法为什么jqplot插件不会评估我使用$(this).text();得到的字符串。

以下是我正在建模的jQplot示例:http://www.jqplot.com/tests/cursor-highlighter.php

2 个答案:

答案 0 :(得分:0)

使用此方法帮助我解决了这个问题。我没有使用jQuery来访问打印变量,而是在PHP页面的底部插入了一些javascript来捕获PHP中的局部变量,然后使用它传递给jQplot函数。

Pass a PHP string to a JavaScript variable (and escape newlines)

答案 1 :(得分:0)

直接使用[p1array]括号并试试......它应该像p1array一样工作