Javascript Google图表表删除所选内容
我目前正在使用谷歌图表表。我对选择有问题。我想关闭选择,但这似乎是不可能的。我甚至尝试过(一种非常丑陋的方式),比如在select部分使用事件监听器来删除它 这是测试源代码。请注意,我不能在JSFIDLE中使用此选项Javascript Google图表表删除所选内容,javascript,html,css,google-visualization,Javascript,Html,Css,Google Visualization,我目前正在使用谷歌图表表。我对选择有问题。我想关闭选择,但这似乎是不可能的。我甚至尝试过(一种非常丑陋的方式),比如在select部分使用事件监听器来删除它 这是测试源代码。请注意,我不能在JSFIDLE中使用此选项 <script type="text/javascript" src="https://www.google.com/jsapi" ></script> <script type="text/javascript"> google.load("j
<script type="text/javascript" src="https://www.google.com/jsapi" ></script>
<script type="text/javascript">
google.load("jquery", "1");
google.load('visualization', '1', {packages:['table']});
function drawVisualization()
{
var data = google.visualization.arrayToDataTable([
['', 'Name', 'E-mail', 'Activated', 'Last login'],
['<input type="checkbox">', 'name1', 'name1@company.xxx', true, '20-07-2012'],
['<input type="checkbox">', 'name2', 'name2@company.xxx', true, '21-07-2012']
]);
var options = {};
options['showRowNumber'] = false;
options['page'] = 'enable';
options['allowHtml'] = true;
options['pageSize'] = 18;
options['pagingButtonsConfiguration'] = 'auto';
var visualization = new google.visualization.Table(document.getElementById('table'));
visualization.draw(data, options);
}
google.setOnLoadCallback(drawVisualization);
</script>
<div id="table"></div>
load(“jquery”,“1”);
load('visualization','1',{packages:['table']});
函数drawVisualization()
{
var data=google.visualization.arrayToDataTable([
['','姓名','电子邮件','已激活','上次登录'],
[''‘名称1','name1@company.xxx,对,'20-07-2012'],
[''‘名称2','name2@company.xxx“,对,'21-07-2012']
]);
var选项={};
选项['showRowNumber']=false;
选项['page']='enable';
选项['allowtml']=true;
选项['pageSize']=18;
选项['pagingButtonsConfiguration']='auto';
var visualization=new google.visualization.Table(document.getElementById('Table');
可视化。绘制(数据、选项);
}
setOnLoadCallback(drawVisualization);
问题是,如果我使用这些复选框,(蓝色)选择是不确定和混乱的
谢谢。实现您想要的效果的一种方法是告诉API在选择行时应该应用什么类,允许您保持指定行的
背景色
JS:
options['cssClassNames'] = {}
options['cssClassNames']['selectedTableRow'] = 'selected';
.selected { background-color: white; }
CSS:
options['cssClassNames'] = {}
options['cssClassNames']['selectedTableRow'] = 'selected';
.selected { background-color: white; }
您可以看到它正在工作。另一个选项是在触发“选择”事件时重置选择:
google.visualization.events.addListener(visualization, 'select', selectHandler);
function selectHandler() {
visualization.setSelection([])
}
下面是一个例子:
这会立即删除所选内容,而无需重新绘制。虽然这可能不是一个理想的解决方案(而不是难看的解决方案),但它只是为您提供了一种覆盖Google默认样式的方法。难道没有一种方法可以避免而不是覆盖吗?根据文档,这是我能看到的唯一方法getSelection()
不会返回创建此功能所需的正确数据。您与clearChart()
的关系有多密切?谢谢,这似乎是最好的方法。谷歌真可耻,它不能被禁用而不是覆盖!当用户想要在图表中多次单击时,此操作将修复此问题