所以我有
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 is a function”相同,我也在这里搜索过,但是我发现没有找到解决方法的问题。有什么建议吗?
答案 0 :(得分:0)
我相信饼图= document.getElementById(elementID);正在用变量覆盖函数。如David Vereb所述,解决了我的问题。