我正在使用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
答案 0 :(得分:0)
使用此方法帮助我解决了这个问题。我没有使用jQuery来访问打印变量,而是在PHP页面的底部插入了一些javascript来捕获PHP中的局部变量,然后使用它传递给jQplot函数。
Pass a PHP string to a JavaScript variable (and escape newlines)
答案 1 :(得分:0)
直接使用[p1array]括号并试试......它应该像p1array一样工作