リンクを追加したい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>
アップデート
変数を非グローバルに更新した後、グラフは正しく表示されますが、同じ値の2つがまだ配列に追加されています。変更を反映するようにコードが更新されました。