在php数据表中为google chart自定义html工具提示添加属性

时间:2015-06-08 12:33:43

标签: javascript php jquery datatable google-visualization

我正在尝试通过将它们添加到数据表中来在我的Google图表中创建自定义html工具提示,现在我的数据表正在PHP中创建,如下所示:

  $datatable = array('cols' => array(
 array('type' => 'string', 'role' => 'domain', 'label' => 'Month'),
 array('type' => 'string', 'role' => 'tooltip'), 
 array('type' => 'string', 'role' => 'domain', 'label' => 'Omzet'), 
 array('type' => 'number', 'label' => 'Omzet '.$jaar), 
 array('type' => 'number', 'label' => 'Omzet '.($jaar-1)), 
 array('type' => 'string', 'role' => 'domain', 'label' => 'Aantal'), 
 array('type' => 'number', 'label' => 'Aantal '.$jaar), 
 array('type' => 'number', 'label' => 'Aantal '.($jaar-1))
));

并填写如下:

$datatable['rows'][] = array('c' => array(
 array('v' => $monthname),
 array('v' => '<h1>custom</h1> tooltip '.$monthname),
 array('v' => 'Omzet '.$monthname),
 array('v' => $row['totaal']),
 array('v' => $omzet),
 array('v' => 'Aantal'),
 array('v' => $row['aantal']),
 array('v' => $aantal)
));

但是对于您可以在Javascript中为Google图表指定的数据表,您必须添加类似

的内容
dataTable.addColumn({'type': 'string', 'role': 'tooltip', 'p': {'html': true}});

否则工具提示将以纯文本而不是html标记形式出现 https://developers.google.com/chart/interactive/docs/customizing_tooltip_content#customizing-html-content

这意味着我必须以某种方式将'p':{'html':true} 属性添加到我的数据表中

我已尝试将其编辑为

array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'),

甚至

array('type' => 'string', 'role' => 'tooltip', 'html' => true),

但这些似乎都没有用,我也找不到在谷歌上做的方法。

我希望我已经提供了足够的信息来帮助我们找到答案,如果您需要更多信息,请告诉我。

这是我第一次在这里发帖提问,所以请你好好(

3 个答案:

答案 0 :(得分:0)

  

dataTable.addColumn({&#39; type&#39;:&#39; string&#39;,&#39; role&#39;:&#39; tooltip&#39;,&#39; p&# 39;:{&#39; html&#39;:true}});

这是json格式。所以,如果我理解你,你只需将数组转换为json数组。在PHP中,您可以通过json_encode函数执行此操作。

答案 1 :(得分:0)

您使用array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'),走在正确的轨道上,但您需要为'html': true部分添加一个额外的阵列。

应该看起来像array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true));

我在这里试了一下:Link to test

答案 2 :(得分:0)

好吧我已经成功解决了这个问题,我不得不将其添加为额外的数组元素,如下所示:

array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true)),

这创建了JSON,其格式是Google图表允许将工具提示转换为HTML格式的文本。