我有一个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对象放在函数上:它运行良好。
任何帮助都将不胜感激。
答案 0 :(得分:0)
如果您只有一个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
});
}
答案 1 :(得分:0)
我通过这种方式解决了这个问题:
获取数据的功能:
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)
所以现在我可以创建更多的图表对象并使用相同的函数来获取数据。