我正在尝试通过将它们添加到数据表中来在我的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),
但这些似乎都没有用,我也找不到在谷歌上做的方法。
我希望我已经提供了足够的信息来帮助我们找到答案,如果您需要更多信息,请告诉我。
这是我第一次在这里发帖提问,所以请你好好(
答案 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格式的文本。