Pregunta

Estoy usando esta librería PHP / CodeIgniter para jQuery Highcharts: http://www.crustiz.com/php-jquery/highcharts-library-for-codeigniter/

La forma en que la biblioteca hace cosas es que construye una matriz de PHP de opciones, y luego la convierte en JSON usando json_encode (véase la línea 273 de esa biblioteca) que se usa entonces por el plugin jQuery Highcharts. Esto está bien, excepto la opción que estoy tratando de uso es el formateador información sobre herramientas, que debe ser una función de JavaScript, no es una cadena (ver http://www.highcharts.com/ref/#tooltip ).

Dado que la biblioteca no tiene una función de información sobre herramientas, que creó uno como una prueba:

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

Pero esto no funciona como la función JS se emite como una cadena, no una función. conozco a nadie si hay una manera de tener una función después de pasar por json_encode sin reescribir esa parte de la biblioteca?

¿Fue útil?

Solución

JSON no tiene la intención de transmitir funciones. Si se echa un vistazo en el documentación , sólo hay especificaciones para cuatro tipos - objeto, conjunto de cuerdas y número -., más los valores true, false y null

Si usted insiste en hacer esto, tal vez un artículo como Funciones de envío de Javascript Durante JSON le dará una mano.

Otros consejos

JSON no tiene un tipo de "llamada de retorno" así que creo que esto no es posible. Se sabe solamente los tipos básicos : string / number / object / array

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top