FusionChart动态渲染图表

时间:2016-04-11 15:02:01

标签: jquery ajax render fusioncharts

我正在尝试重新创建信息中心,以正确了解如何使用FusionCharts。

This is the dashboard我正在复制。如果您注意到,每次浏览选项卡时,图表都会重新渲染。

在我的网站(http://sisfacil.cl/plantilla/

图表只会渲染一次,第一次更改为任何标签或更改任何选择输入(无论如何都会改变图表的数据)。

我希望在标签更改上实现与在信息中心中相同的重新呈现

现在我以两种方式呈现图表;

第一个是引用index.php中的.js来构建和呈现页面中的每个图表,这个图表有静态数据,所以它们是这样构建的:

var myChart = new FusionChart (
//structure and static data here*
).render();

第二个是通过Ajax将参数发送到另一个.php,它从我之后的jsonEncode的MySQL数据库中检索数据,这些数据在上面调用的.js中。这可以更改图表的选择数据,如下所示:

$('#sel1sbmn2chart2').on('change', function(){
    var x = this.value;
    $.ajax({
        url: 'includes/gastoDinamico.php',
        type: 'POST',
        data: {selYear: x},
        success: function(data){
            myChart.setChartData(data, "json");
        }
    });
});

此外,我还使用jquery附加了onClick事件,以重新呈现Presupuestos / Ventas选项卡中页面上的第一个图表。完成上面代码的方式相同。

这很难用,因为它有一些奇怪的行为再次渲染图表。有时候它会从0重新渲染图表(这意味着,我尝试复制的FusionCharts仪表板的方式相同)其他,您将看到图表呈现(在缓存中)然后重新渲染。而其他时候图表将使用其他分辨率渲染,更小(我将分辨率设置为600x400,小分辨率看起来像预设分辨率或其他)。

我已经尝试过这个问题的其他方法,比如在再次渲染之前使用.dispose()方法,但是我无法使它工作(错误:dispose()不是函数/重复的ID图表/找不到要渲染的DOM元素/ etc)

另外,在网上研究我发现每个人都有相反的问题。图表上的图表动态呈现更改..

我认为您可以在我的网页的代码中查看大部分代码,否则如果您需要任何其他特定代码,我可以编辑我的OP。

如何在制表符更改时动态呈现图表?

无法判断我做错了什么。

0 个答案:

没有答案