Frage

Ich verwende dieses PHP / CodeIgniter Bibliothek für jQuery Highcharts: http://www.crustiz.com/php-jquery/highcharts-library-for-codeigniter/

Die Art und Weise, dass Bibliothek Dinge tut, ist, dass es einen PHP-Array von Optionen baut, dann wandelt sie in json mit json_encode (siehe Linie 273 dieser Bibliothek), die dann durch den jQuery Highcharts Plugin verwendet wird. Das ist in Ordnung, mit Ausnahme der Option, die ich zu verwenden bin versuche die Tooltip-Formatierer, die eine Javascript-Funktion sein muss, kein String (siehe http://www.highcharts.com/ref/#tooltip ).

Da die Bibliothek keine Tooltip Funktion haben, erstellte ich eine als Test:

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

Aber das funktioniert nicht wie die JS-Funktion Ausgabe als String, keine Funktion. Wer weiß, ob es einen Weg gibt es eine Funktion, nachdem sie durch json_encode sein zu haben, ohne dass ein Teil der Bibliothek zu Umschreiben?

War es hilfreich?

Lösung

JSON ist nicht zu vermitteln Funktionen gemeint. Wenn Sie einen Blick auf die Dokumentation nehmen, gibt es nur Spezifikationen für vier Typen - Objekt, ein Array, String und Anzahl - zzgl. die Werte true, false und null

Wenn Sie darauf bestehen, dies zu tun, vielleicht ein Artikel wie Senden JavaScript-Funktionen über JSON gibt Ihnen eine Hand.

Andere Tipps

JSON hat bisher keine „Callback-Funktion“ Typ so dass ich denke, das ist nicht möglich. Es weiß nur die Grundtypen: string / number / object / array

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top