代码之家  ›  专栏  ›  技术社区  ›  Francesco G.

Chart.js 2.7.2-单击多行获取点值

  •  0
  • Francesco G.  · 技术社区  · 7 年前

    我想得到每个点的值。 不工作,因为当我点击点,我只获得第一行的值。

    This 完整的代码。

        $(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 回复  |  直到 7 年前
        1
  •  3
  •   Cem Ekici    5 年前

    要获得确切的元素,请使用 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);    
        }
    });
    
    推荐文章