我使用这个PHP/CodeIgniter的库jQuery的Highcharts:http://www.crustiz.com/php-jquery/highcharts-library-for-codeigniter/传递一个PHP字符串(代表一个JS功能)通过json_encode()
该库做事情的方式是,它建立的一个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之后是否有办法让它成为函数,而不会重写库的那部分?
无论你在做什么,通过ajax发送javascript可能不是最有效的方法。 – Incognito 2010-10-13 14:46:07
我没有通过Ajax发送JS。 – 2010-10-13 15:18:17