I would like to get value foreach point value. Don’t work because when I click on point I obtain only of the first line value. GetElementsAtEvent give me an array of 3 element (element active) but how I can get the clicked value?
This the Complete code.
JavaScript
x
13
13
1
$(document).on("click", "#canvas", function(event){
2
var activePoints = ctx.getElementsAtEvent(event);
3
if(activePoints.length > 0){
4
5
var clickedDatasetIndex = activePoints[0]._datasetIndex;
6
var clickedElementindex = activePoints[0]._index;
7
var label = ctx.data.labels[clickedElementindex];
8
var value = ctx.data.datasets[clickedDatasetIndex].data[clickedElementindex]["y"];
9
10
alert("Clicked: " + label + " - " + value);
11
}
12
});
13
Thanks
Advertisement
Answer
To get the exact element, use ctx.getElementAtEvent
.
JavaScript
1
14
14
1
$(document).on("click", "#canvas", function(event){
2
var activePoint = ctx.getElementAtEvent(event);
3
4
if (activePoint.length > 0) {
5
var clickedDatasetIndex = activePoints[0]._datasetIndex;
6
var clickedElementIndex = activePoints[0]._index;
7
var clickedDatasetPoint = ctx.data.datasets[clickedDatasetIndex];
8
var label = clickedDatasetPoint.label;
9
var value = clickedDatasetPoint.data[clickedElementIndex]["y"];
10
11
alert("Clicked: " + label + " - " + value);
12
}
13
});
14