更改选项卡时,Highcharts-legend-item.last()会消失

时间:2013-04-30 17:02:22

标签: javascript jquery highcharts pie-chart

我在页面上设置了一个“标签容器”,其中有三个标签,每个标签都包含不同的高图饼图。它们根据活动选项卡进行渲染。对于其中的每一个,我在图例的末尾放置了总共100%的列,使用此代码;

chart: {
    type:'pie',
    renderTo: 'ctl00_ContentPlaceHolder1_Overview1_AssetXRayChart',
    events: {
        load: function(event) {
            $('.highcharts-legend-item').last().append('<br/><div style="width: 220px; margin-left: 190px;">_____</div><br/><div style="width:220px"><span style="float:right"><b>100%</b></span> </div>');
        }
    }
}

在初始渲染中,一切看起来都很棒,但是如果我点击任何后续选项卡以显示这些饼图,然后返回到另一个选项卡以查看图表我已经看到总列已经消失,除了对于第三个选项卡,这是最终呈现的图表。我相信这是因为渲染的第三个图表实际上是官方的“最后一个”传奇项目元素,这就是它保留的原因,但是由于所有这些都是在各自呈现的,不应该允许总行保留在那里吗?是因为我为每一个使用完全相同的代码行,在div或span中没有唯一的id? 任何帮助表示赞赏。 非常感谢你, NickG

1 个答案:

答案 0 :(得分:1)

更改每个图表路径:

 $('.highcharts-legend-item')...

为:

 $('#tl00_ContentPlaceHolder1_Overview1_AssetXRayChart .highcharts-legend-item')...

每个图表的#tl00_ContentPlaceHolder1_Overview1_AssetXRayChart不同(作为图表容器的ID)