0

所以我有:

function graphing(type)
{   

var batches=[];
var labels=[];
var gd=0;
var elementID = "graph";

if(type="truck")
{
    for(var i = 0; i < allTrucks.trucks.length; i++)
    {
        labels.push(allTrucks.trucks[i].display);
        batches.push(allTrucks.trucks[i].loads);
    }
    piegraph(labels,batches,elementID);
}
}

Piegraph() 看起来像这样,但 graphing() 和 piegraph() 都在同一个文件中。Piegraph() 在 graphing() 之后创建

function piegraph(labels, numbers, elementID)
{
piegraph = document.getElementById(elementID);
var data = [{
    values: numbers,
    labels: labels,
    type: 'pie'
}];
var layout = {
    height: 400,
    width: 500
    };
Plotly.newPlot(piegraph, data, layout);
}

主 JS 文件:

$('#truck-graph-btn').click(function(){
    graphing("truck");
});

几个小时以来,我一直试图弄清楚这一点。该错误与我也在此处搜索过的标题“TypeError:piegraph 不是函数”相同,但我发现的任何修复都没有解决问题。有什么建议么?

4

1 回答 1

0

我相信 piegraph = document.getElementById(elementID); 正在用变量覆盖您的函数。正如 David Vereb 所指定的那样,解决了我的问题。

于 2018-10-01T12:47:05.853 回答