Chart.js 2.7.2 - Многострочное получение баллов по клику - PullRequest
0 голосов
/ 09 октября 2018

Я хотел бы получить значение foreach.Не работает, потому что когда я нажимаю на точку, я получаю только значение первой строки.GetElementsAtEvent даст мне массив из 3 элементов (элемент активен), но как мне получить значение, по которому щелкнули?

Это Полный код.

    $(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);    
        }
    });

Спасибо

1 Ответ

0 голосов
/ 10 октября 2018

Чтобы получить точный элемент, используйте ctx.getElementsAtEvent.

$(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);    
    }
});
...