Javascript 在php datatable中为google图表自定义html工具提示添加属性
我试图通过将自定义html工具提示添加到datatable中,在我的google图表中创建自定义html工具提示,现在我的datatable是用PHP创建的,如下所示:Javascript 在php datatable中为google图表自定义html工具提示添加属性,javascript,php,jquery,datatable,google-visualization,Javascript,Php,Jquery,Datatable,Google Visualization,我试图通过将自定义html工具提示添加到datatable中,在我的google图表中创建自定义html工具提示,现在我的datatable是用PHP创建的,如下所示: $datatable = array('cols' => array( array('type' => 'string', 'role' => 'domain', 'label' => 'Month'), array('type' => 'string', 'role' => 'too
$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)
));
并填写如下:
$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)
));
否则,工具提示将显示为纯文本而不是html标记
这意味着我必须以某种方式将'p':{'html':true}属性添加到我的数据表中
我试着把它编辑成
array('type' => 'string', 'role' => 'tooltip', 'p' => '{ html : true}'),
甚至
array('type' => 'string', 'role' => 'tooltip', 'html' => true),
但这些似乎都不起作用,我也找不到在谷歌上实现的方法
我希望我已经提供了足够的信息来帮助你找到答案,如果你还需要什么,请告诉我
这是我第一次在这里发帖,所以请友好点(:
addColumn({'type':'string','role':'tooltip','p':{'html':true})
这是json格式的。如果我理解正确,您只需要将数组转换为json数组。在PHP中,您可以通过函数来实现这一点。您使用
array('type'=>'string','role'=>'tooltip',p'=>'{html:true}'的方法是正确的),
但是您需要为'html':true
部分增加一个数组
它应该看起来像array('type'=>string','role'=>tooltip','p'=>array('html'=>true));
我在这里尝试过:好吧,我已经设法修复了它,问题是我必须添加它作为一个额外的数组元素,如下所示:
array('type' => 'string', 'role' => 'tooltip', 'p' => array('html' => true)),
这以谷歌图表接受的格式创建了JSON,将工具提示转换为HTML格式的文本。很抱歉,我不熟悉PHP,但你不能尝试使用所有这些“数组”将输入保存为字符串吗?@HenrikAronsson我不确定你的意思。这是我找到的创建JSON dat的最佳方法使用php数组的atable如上所述,我对php不是很熟悉,但随着对它的进一步研究,我相信您应该继续尝试使用
数组('type'=>'string','role'=>'tooltip','p'=>'{html:true}'),
,但是作为数组('type'=>'string'))
将是Json'type':'string'
我将把您的行更改为array('type'=>'string','role'=>'tooltip','p'=>array('html'=>true)),
或类似的内容。是的,我正在通过javascript中的json_encode将其转换为json以创建datatable,但是我不能指定列的属性为上述html:true部分。至少我不知道如何实现,但我想应该有一种方法