如何使用array_merge在PHP/Higharts中显示未引用的命令
How to use array_merge to display non-quoted commands in PHP/Highcharts?
我正在向客户端传递一个带有多个Highcharts参数的JSON数组。在少数情况下,我使用array_merge在分配代码后面插入一些额外的东西。只要传递的参数将显示在引号中,例如:,这就可以正常工作
$data_['xAxis'] = array_merge($data_['xAxis'], array("type" => "category"));
然后,在客户端,这将转化为:
type: "category"
但在某些情况下,我想传递一个函数,它应该像下面这样显示:
chart: {
events: {
load: function () {
var label = ....
}
}
},
当我在这里使用它时,它显示为文本:
$data_['chart'] = array_merge($data_['chart'], array("events" => "{load: function(event) {var label = ... }}");
chart: {
events: "{
load: function () {
var label = ....
}
}"
},
EDIT:客户端的Javascript如下所示:
$(document).ready(function() {
var options = {};
var url = "http://geodev.grid.unep.ch/mod_test/jsonp_response.php?callback=?";
$.getJSON(url, {selectedCountries: selectedCountries , selectedID: selectedID, selectedYears: selectedYears, per_capita: per_capita, graphBorder: graphBorder, graphSource: graphSource, graphStyle: graphStyle, graphXAxis: graphXAxis, type: "jsonp"})
.done(function(data)
{
//console.log(data);
options.chart = data["chart"];
options.tooltip = data["tooltip"];
options.series = data["series"];
options.title = data["title"];
options.subtitle = data["subtitle"];
options.yAxis = data["yAxis"];
options.xAxis = data["xAxis"];
options.legend = data["legend"];
options.exporting = data["exporting"];
options.plotOptions = data["plotOptions"];
options.credits = data["credits"];
var chart = new Highcharts.Chart(options);
})
那么,我能做些什么来传递它,使它不显示为文本呢?有人能给我一个提示吗?非常感谢!
的几种方法
-
在javascript本身中实现事件处理程序,如
options.credits = data["credits"]; options.chart.events = {}; options.chart.events.load = function(event){ // implementations go here }
-
但不推荐,使用eval
options.credits = data["credits"]; options.chart.events = eval(data.chart.events);
希望这能帮助
相关文章:
- 从桌面读取python文件时高亮显示代码
- Facebook:当发布期望对象引用时显示打开的图形对话框
- 当我编写脚本时,它显示引用错误:未定义宽度
- 同步 ejGrid 不显示(未捕获的引用和未捕获的类型错误)
- Syncfusion JavaScript 网格未显示.语法和引用错误
- 如何使用array_merge在PHP/Higharts中显示未引用的命令
- 未调用Javascript函数.Firebug显示引用错误
- 引用错误:未定义显示
- 选择器 $(body) 有效但破坏了代码(引用错误),而 $(“body”) 没有显示错误但不起作用
- 由于引用了相同的javaScript文件,Kendo UI控件没有显示在网页上,如何克服这一点
- 引用生成器网站不能在显示的内容之间放置符号或空格
- Angular.js指令,attrs显示标记中的属性,但可以'不要引用它
- 为什么在控制台上记录对象引用时会显示一个整数
- 为什么我的浏览器显示“;未获取引用错误“;在这里
- Javascript-函数的外部引用显示“;未定义”;
- 在页面中显示iframe,仅对来自特定引用的访问者
- Javascript:使用jQuery.remove()删除没有引用的显示对象
- 将表单提交到新窗口>显示pdf>父窗口将丢失子窗口引用
- 根据引用值显示不同的内容
- 使用angular显示被引用模式的信息