编辑:下面的响应更正确!
http://www.highcharts.com/ref/#series-object
HTML:
<SELECT id="list">
<OPTION VALUE="A">Data Set A
<OPTION VALUE="B">Data Set B
</SELECT>
<button id="change">Refresh Table</button>
<div id="container" style="height: 400px"></div>
Javascript:
var options = {
chart: {
renderTo: 'container',
defaultSeriesType: 'spline'
},
series: []
};
$("#change").click(function() {
if ($("#list").val() == "A") {
options.series = [{name: 'A', data: [1,2,3,2,1]}]
// $.get('/dough/includes/live-chart.PHP?mode=month'
} else {
options.series = [{name: 'B', data: [3,2,1,2,3]}]
// $.get('/dough/includes/live-chart.PHP?mode=newmode'
}
var chart = new Highcharts.Chart(options);
});
这是一个非常简单的示例,因为我没有文件,但是基本思想是,每当用户为要查看的内容选择新选项时,都将替换.series数据对象使用服务器中的新信息,然后使用新的Highcharts.Chart();重新创建图表。
希望这可以帮助!约翰
编辑:
从我过去的工作中检查出来:
$("table#tblGeneralInfo2 > tbody > tr").each(function (index) {
if (index != 0) {
var chartnumbervalue = parseInt($(this).find("td:last").text());
var charttextvalue = $(this).find("td:first").text();
chartoptions.series[0].data.push([charttextvalue, chartnumbervalue]);
}
});
我有一个表格,其中包含我需要添加到饼图中的第一个和最后一个tds的信息。我遍历每一行并推入值。注意:我使用chartoptions.series [0].data,因为饼图只有1个系列。