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.
$(document).on("click", "#canvas", function(event){ var activePoints = ctx.getElementsAtEvent(event); if(activePoints.length > 0){ var clickedDatasetIndex = activePoints[0]._datasetIndex; var clickedElementindex = activePoints[0]._index; var label = ctx.data.labels[clickedElementindex]; var value = ctx.data.datasets[clickedDatasetIndex].data[clickedElementindex]["y"]; alert("Clicked: " + label + " - " + value); } });
Thanks
Advertisement
Answer
To get the exact element, use ctx.getElementAtEvent
.
$(document).on("click", "#canvas", function(event){ var activePoint = ctx.getElementAtEvent(event); if (activePoint.length > 0) { var clickedDatasetIndex = activePoints[0]._datasetIndex; var clickedElementIndex = activePoints[0]._index; var clickedDatasetPoint = ctx.data.datasets[clickedDatasetIndex]; var label = clickedDatasetPoint.label; var value = clickedDatasetPoint.data[clickedElementIndex]["y"]; alert("Clicked: " + label + " - " + value); } });