0

我正在为 jQuery Highcharts 使用这个 PHP/CodeIgniter 库:http ://www.crustiz.com/php-jquery/highcharts-library-for-codeigniter/

该库的工作方式是构建一个 PHP 选项数组,然后使用 json_encode 将其转换为 json(参见该库的第 273 行),然后由 jQuery Highcharts 插件使用。这很好,除了我尝试使用的选项是工具提示格式化程序,它需要是一个 javascript 函数,而不是一个字符串(参见http://www.highcharts.com/ref/#tooltip)。

由于该库没有工具提示功能,我创建了一个作为测试:

  function set_tooltip() {
    $this->a_options['tooltip']['formatter'] = 'function() { return this.series.name + "<br>" + this.x + ": " + this.y }';
    return $this;
  }

但这不起作用,因为 JS 函数输出为字符串,而不是函数。任何人都知道在通过 json_encode 而不重写库的那部分之后是否有办法让它成为一个函数?

4

2 回答 2

2

JSON 并不是为了传达功能。如果你看一下文档,只有四种类型的规范——对象、数组、字符串和数字——加上值truefalsenull

如果您坚持这样做,也许像Sending Javascript Functions Over JSON这样的文章会帮助您。

于 2010-10-13T14:43:57.877 回答
1

JSON 没有“函数回调”类型,所以我认为这是不可能的。它只知道基本类型string///numberobjectarray

于 2010-10-13T14:41:00.460 回答