我有一个通过读取 XML 文件加载的 jqPlot 饼图。但是,当我动态加载切片数组时,饼图无法正确呈现,当我对数组进行硬编码时,它似乎可以正确呈现。
我用来获取数组的代码是:
function loadSlices(xml)
{
slices = new Array();
$(xml).find("category").each(
function()
{
$(this).find("slice").each(
function()
{
slice = new Array($(this).attr("name"));
slice.push($(this).attr("size"));
slices.push(slice);
}
);
}
);
return slices;
}
加载图表的代码是:
function pieChart(name,xmlurl)
{
$.get(xmlurl,function(xml)
{
loadSize(name,xml);
slices= new Array();
slices.push(loadSlices(xml));
$("#debug").append("\nSLICES ARR (getting ready to load):");
debug2dArray(slices);
//debug2dArray(slices)
//now load in the pie chart
var plot1 = $.jqplot(name,[slices],
{
seriesDefaults:{
renderer: $.jqplot.PieRenderer,
rendererOptions:{
showDataLables: true
},
}
});
});//end get AJAX request
}
当我对 slices 数组进行硬编码时,[[["PB&J",2],["Ham",1]]]
它工作得非常好。任何帮助,将不胜感激。
更新
XML
<chart>
<size width="450px" height="200px"/>
<category>
<slice name="PB&J" size="3" />
<slice name="Ham" size="1" />
</category>
</chart>