我试图在我的谷歌图表中创建自定义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中指定对于谷歌图表,你需要添加像
这样的东西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}属性到我的datatable
我试过把它编辑成
array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'),
或甚至到
array('type' => 'string', 'role' => 'tooltip', 'html' => true),
但是这些似乎都不起作用,我也找不到在谷歌上这样做的方法。
我希望我已经提供了足够的信息来帮助你找到答案,如果你还需要什么,请告诉我。
这是我第一次在这里发布问题,所以请友好(:
您在array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'),
的轨道上是正确的,但是您需要为'html': true
部分添加一个额外的数组。
应该是array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true));
我在这里试了试:链接到test
数据表。addColumn({"类型":"字符串","角色":"提示","p":{"html":真}});
json格式。如果我没理解错的话你只需要把数组转换成json数组。在PHP中,你可以通过json_encode函数来实现。
好的,我已经设法解决了这个问题,问题是我必须添加它作为一个额外的数组元素,像这样:
array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true)),
这将以Google图表接受的格式创建JSON,以便将工具提示转换为HTML格式的文本。