我有一个关于 highcharts 项目的问题,图表选项保存在数据库中。我正在使用以下代码在图表上打印。让我使用一些示例代码来解释我的问题。
echo 'var options69 = '.$highcharts_json_options;
echo PHP_EOL;
echo 'var options69_func = '. json_encode( $functions);
echo PHP_EOL;
echo '$(document).ready(function() {';
echo PHP_EOL;
echo ' chart69 = new Highcharts.Chart(
$.extend(true, options69, options69_func)
);';
echo PHP_EOL;
echo '});';
问题$functions
不在于转换为正确的 JavaScript 对象。这是 $functions 的代码示例
$functions = array(
'chart' => array(
'events' => array(
'click' => "function(){inboxMenu(this.options);}"
)
),
'tooltip' => array(
'formatter' => "function(){
return '<b>'+ this.series.name + ':</b>'+ this.y;
}"
)
);
目前, json_encode( $functions)
输出是
var options69_func = {
"chart": {
"events": {
"click": "function(){inboxMenu(this.options);}"
}
},
"tooltip": {
"formatter": "function(){return '<b>'+ this.series.name + ':<\/b>'+ this.y;}"
}
}
但我需要的价值var options69_func
就像
var options69_func = {
"chart": {
"events": {
"click": function(){
inboxMenu(this.options);
}
}
},
"tooltip": {
"formatter": function(){
return '<b>'+ this.series.name + ':<\/b>'+ this.y;
}
}
}
然后只有图表click event
或formatter
作品..这些值来自服务器数据库动态。我可以添加回调函数json_encode
吗?
我将php生成的js代码添加到http://jsfiddle.net/u9W6X/
我不喜欢在客户端使用 eval 函数..