高图显示为空,直到点击按钮
Highchart showing up empty until button click
为了显示来自数据库的数据,我一直在定制以下jsfiddle。http://jsfiddle.net/jlbriggs/7ntyzo6u/
我使用JSON来检索我的数据库中的数据。在界面中,有3个图表,可以通过点击按钮进行切换。但是当您加载页面时,显示的是默认图表。现在我已经编辑了chart1,它将显示我的数据库数据:
var chart,
chartOptions = {},
chartData = {};
chartData.chart2 = randomData(10, true);
chartData.chart3 = randomData(65, true, 300);
chartOptions.chart1 = {
chart: {
type: 'column'
},
title: {
text: 'Chart 1 Title'
},
xAxis: {
categories: []
},
yAxis: {
title: {
text: 'Chart 1<br/>Y Axis'
}
},
series: [{
name: 'Chart 1 Series',
data: []
}]
};
var tableName = '<?php echo $tableName; ?>'
$.getJSON("../../companies/charts/Data.php", {id: escape(tableName)}, function(json) {
chartOptions.chart1.xAxis.categories = json[0]['data'];
chartOptions.chart1.series[0].data = json[6]['data'];
});
我的问题是,图表显示为空后加载页面。只有当我点击图表1按钮时,数据才会显示出来。谁能告诉我,如果这是因为我在设置xAxis和系列数据在上面的代码错过了什么?
因为美元。getJSON是异步的(见下面的评论),我现在尝试使用ajax来发送请求。下面是我的尝试,但这是有缺陷的,因为图表现在甚至不会在点击"chart1"按钮时显示数据。图表确实出现了,但是是空的:
chartOptions.chart1 = {
chart: {
type: 'column'
},
title: {
text: 'Chart 1 Title'
},
xAxis: {
categories: []
},
yAxis: {
title: {
text: 'Chart 1<br/>Y Axis'
}
},
series: [{
name: 'Chart 1 Series',
data: []
}]
};
var tableName = '<?php echo $tableName; ?>'
$.ajax({
url: "../../companies/charts/Data.php",
data: {id: escape(tableName)},
dataType: "json",
async: false,
succes: function(data) {
chartOptions.chart1.xAxis.categories = json[0]['data'];
chartOptions.chart1.series[0].data = json[6]['data'];
}
});
提前感谢您的协助!
我的假设是,由于$.getJSON
是异步的,因此在填充数据之前已经加载了图表。您可以尝试在$中调用setData方法。getJSON块。这将强制重新绘制图表:
chartOptions.chart1.series[0].setData(json[6]['data'],true);
或者尝试使用$.ajax
和async:false
发送请求。用$代替下面的块。getJSON块。
$.ajax({
url: "../../companies/charts/Data.php",
data: {id: escape(tableName)},
async:false
}).done(function() {
chartOptions.chart1.xAxis.categories = json[0]['data'];
chartOptions.chart1.series[0].data = json[6]['data'];
});
我想这应该能让你继续。
jQuery.ajax相关文章:
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- 类似FB的按钮显示在页面上,但不会在同一页面上弹出
- 单击javascript按钮显示/隐藏Div元素
- 单击按钮显示不同的文本,重复第一个文本
- C3.js通过单击按钮显示工具提示
- 单击按钮显示重新单击消失
- 点击浏览器的“后退”按钮显示的是JSON而不是HTML(使用Rails和d3.js)
- 尝试从单选按钮显示的JSON数组中调用多个对象
- 在youtube视频中单击按钮显示图像
- 使用HTML和Javascript,使用4个单选按钮显示和隐藏输入字段
- 如何在javascript中使两个按钮显示在一起
- 如何使用按钮显示/隐藏潜水
- 使用不起作用的按钮显示和隐藏
- facebook点赞按钮显示数以万计的点赞
- 流星:点击按钮显示一些东西
- jQuery按钮显示/隐藏类,如果存在类
- 如何让我的 ckEditor 菜单按钮显示在两行而不是四行上
- 如何让我的移动菜单按钮显示和隐藏导航栏,以及在负空间中单击时隐藏
- 网格中的拆分按钮显示在行后面 - 剑道 UI
- Dijit 按钮显示图标,但不以编程方式显示标签