我有一个jqPlot图表,我想在其上添加链接,我相信我找到了一种使用数组的方法,例如[[[1,2,"http://google.com"]],[[2,3,"http://yahoo.com]]]
,当我尝试通过 XML、jQuery 和 Ajax 加载它时,它并不能很好地工作。
我认为问题出.each
在此代码中的条款中:
function getBars(xml)
{
var categoryid = 1;
var bars = [];
$(xml).find("category").each(
function()
{
bars.push(loadBars(categoryid,$(this)));
categoryid++;
});
return bars;
}
function loadBars(categoryid,xml)
{
var bar = [];
var bars = [];
$(xml).find("bar").each(function()
{
bar.push(parseInt(categoryid));
bar.push(parseInt($(this).attr("size")));
bar.push($(this).attr("link"));
bars.push(bar);
});
$("#debug").append("\nBAR:")
debug2dArray(bars);
return bars;
}
XML 看起来像:
<?xml version="1.0"?>
<chart>
<category>
<bar size="20" link="http://google.com"/>
</category>
<category>
<bar size="70" link="http://yahoo.com" />
</category>
</chart>
更新
将变量更新为非全局变量后,图表现在显示正确,但仍将两个相同的值添加到数组中。代码已更新以反映更改。