0

私はjQueryHighchartsにこのPHP/CodeIgniterライブラリを使用しています:http ://www.crustiz.com/php-jquery/highcharts-library-for-codeigniter/

ライブラリが処理を行う方法は、オプションのPHP配列を構築し、json_encode(そのライブラリの273行目を参照)を使用してjsonに変換し、jQueryHighchartsプラグインで使用することです。これは問題ありませんが、使用しようとしているオプションがツールチップフォーマッターであり、文字列ではなく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は関数を伝達するためのものではありません。ドキュメントを見ると、オブジェクト、配列、文​​字列、数値の4つのタイプと、値truefalseおよびの仕様しかありませんnull

これを行うことを主張する場合は、JSONを介したJavascript関数の送信のような記事が役立つでしょう。

于 2010-10-13T14:43:57.877 に答える
1

JSONには「関数コールバック」タイプがないため、これは不可能だと思います。それは基本的なタイプだけを知っています:string/ number/ object/array

于 2010-10-13T14:41:00.460 に答える