簡體   English   中英

重用功能將數據加載到Highchart

[英]Reuse function to load data into Highchart

我有一個Highchart對象和一個加載數據的函數:

graficaPropuestas = new Highcharts.Chart({
        chart: {
            height: 300,
            renderTo: "graficaPropuestas",
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false,
            events: {
                load: recogerDatosInforme('propuesta', $(this))
            }
        }
 })

以及加載數據的功能:

function recogerDatosInforme(tipo, gr) {
        $.ajax({
            url: '/Licencia/recogerDatosUsuariosSistema?tipo' + tipo,
            datatype: "json",
            success: function(data) {
                gr.series[0].setData(data);
            },
            cache: false
        });
    }

我想將graficaPropuestas對象傳遞給該函數,以便我可以重用同一函數來加載更多圖形,但是我無法使其正常工作。 如果我直接將函數graficaPropuestas對象放在success:方法上,它將很好地工作。

任何幫助,將不勝感激。

如果您只有一個graficaPropuestas實例, graficaPropuestas更好,更高效的方法就是使用該解決方案:

var graficaPropuestas = new Highcharts.Chart( ... 

function recogerDatosInforme(tipo) {
        $.ajax({
            url: '/Licencia/recogerDatosUsuariosSistema?tipo' + tipo,
            datatype: "json",
            success: function(data) {
                graficaPropuestas.series[0].setData(data);
            },
            cache: false
        });
    }

我通過這種方式解決了:

獲取數據的功能:

function recogerDatosInforme(tipo, gr) {
        $.ajax({
            url: '/Informes/recogerDatosInforme?tipo=' + tipo,
            datatype: "json",
            success: function(data) {
                gr.series[0].setData(data);
            },
            cache: false
        });
    }

然后,在沒有init的events方法的情況下創建圖表:

graficaPropuestas = new Highcharts.Chart({
    chart: {
        height: 300,
        renderTo: "graficaPropuestas",
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false
    }

})

然后我以圖形對象作為參數調用該函數:

recogerDatosInforme('propuesta', graficaPropuestas)

因此,現在我可以制作更多圖表對象並使用相同的函數來獲取數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM