我使用這個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