设置参数单击列/数据名称中的C3Js

时间:2016-04-12 03:13:30

标签: javascript

是否可以将数据列的值传递到c3J上的事件onclick



var chart = c3.generate({
  bindto: '#chart',
  data: {
    columns: [
      ['data1', 30, 200, 100, 400, 150, 250],
      ['data2', 50, 20, 10, 40, 15, 25]
    ],
    onclick: function() {
      alert('a');
    }
  }
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

<div id="chart"></div>
&#13;
&#13;
&#13;

案例

我可以将alert('a')更改为alert(columns[0][0]) // or what,sorry i have no idea,如果我点击蓝线,输出将是 data1 ,如果我点击黄色,那么它将是提醒 data2

目的

我想要做的是...我想通过点击图表并从数据参数中发送主键来建立新链接。问题是我不知道如何通过列名称来自所选行。

1 个答案:

答案 0 :(得分:1)

According to the documentation, data.onclick将

  

接收d和元素作为参数。 d是单击的数据,元素是单击的元素

因此,请尝试将代码更改为:

onclick: function(d, element) { alert(d); }

(或者更好的是,如果它仅用于调试,请使用console.log)

如果您遇到任何其他问题,请告诉我,我会更新我的答案。