Javascript highchart刷新在我的网站上不起作用
我有一个奇怪的问题: 当我尝试为highcharts创建一个刷新内容的函数时,它在JSFIDLE上工作,但在我自己的网站上不工作 有人能告诉我区别吗? 或者是解决方案 我的测试:Javascript highchart刷新在我的网站上不起作用,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我有一个奇怪的问题: 当我尝试为highcharts创建一个刷新内容的函数时,它在JSFIDLE上工作,但在我自己的网站上不工作 有人能告诉我区别吗? 或者是解决方案 我的测试: <!DOCTYPE html> <html lang="nl"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">&l
<!DOCTYPE html>
<html lang="nl">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#chart1').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Project: Dikke fiets'
},
subtitle: {
text: 'Begrote bedragen versus gebruikte bedragen'
},
xAxis: {
categories: [
'Materiaal',
'Personeel',
'Onderhoud',
'dik'
]
},
yAxis: {
min: 0,
title: {
text: 'Bedrag in euro\'s'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>€ {point.y:.1f}</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Begroot',
data: [49.90, 71.50, 106.40, 129.20]
}, {
name: 'Gebruikt',
data: [83.60, 78.80, 98.50, 93.40]
}]
});
});
// nieuw gedeelte
var options = {
chart: {
renderTo: 'chart1',
defaultSeriesType: 'spline'
},
series: []
};
$("#change").click(function(){
if ($("#list").val() == "A")
{
options.series = [{
name: 'Dik',
data: [49.90, 71.50, 106.40, 129.20]
}, {
name: 'Dun',
data: [83.60, 78.80, 98.50, 93.40]
}]
//$.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);
});
</script>
<div id="chart1" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
</div>
<SELECT id="list">
<OPTION VALUE="A">Data Set A
<OPTION VALUE="B">Data Set B
</SELECT>
<button id="change">Refresh Table</button>
<script src="./js/highcharts/highcharts.js"></script>
<script src="./js/highcharts/modules/exporting.js"></script>
$(函数(){
$('图表1')。高图({
图表:{
类型:“列”
},
标题:{
文字:“项目:Dikke fiets”
},
副标题:{
文字:“Begrote bedragen与gebruikte bedragen”
},
xAxis:{
类别:[
“材料”,
“个人”,
“Onderhoud”,
“迪克”
]
},
亚克斯:{
分:0,,
标题:{
文字:“欧元区的床单”
}
},
工具提示:{
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“&euro;{point.y:.1f}”,
页脚格式:“”,
分享:是的,
useHTML:true
},
打印选项:{
专栏:{
点填充:0.2,
边框宽度:0
}
},
系列:[{
名称:“Begroot”,
数据:[49.90,71.50,106.40,129.20]
}, {
名称:“Gebruikt”,
数据:[83.60,78.80,98.50,93.40]
}]
});
});
//nieuw gedeelte
变量选项={
图表:{
renderTo:'图表1',
defaultSeriesType:“样条线”
},
系列:[]
};
$(“#更改”)。单击(函数(){
如果($(“#列表”).val()=“A”)
{
options.series=[{
姓名:'迪克',
数据:[49.90,71.50,106.40,129.20]
}, {
姓名:‘邓’,
数据:[83.60,78.80,98.50,93.40]
}]
//$.get('/ruam/includes/live chart.php?mode=month'
}
其他的
{
options.series=[{name:'B',数据:[3,2,1,2,3]}]
//$.get('/ruam/includes/live chart.php?mode=newmode'
}
var图表=新的Highcharts.图表(选项);
});
数据集A
数据集B
刷新表
在JSFIDLE上,我尝试了以下方法:
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<SELECT id="list">
<OPTION VALUE="A">Data Set A
<OPTION VALUE="B">Data Set B
</SELECT>
<button id="change">Refresh Table</button>
<div id="chart1" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
数据集A
数据集B
刷新表
javascript:
$(function () {
$('#chart1').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Project: Dikke fiets'
},
subtitle: {
text: 'Begrote bedragen versus gebruikte bedragen'
},
xAxis: {
categories: [
'Materiaal',
'Personeel',
'Onderhoud',
'dik'
]
},
yAxis: {
min: 0,
title: {
text: 'Bedrag in euro\'s'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>€ {point.y:.1f}</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Begroot',
data: [49.90, 71.50, 106.40, 129.20]
}, {
name: 'Gebruikt',
data: [83.60, 78.80, 98.50, 93.40]
}]
});
});
// nieuw gedeelte
var options = {
chart: {
renderTo: 'chart1',
defaultSeriesType: 'spline'
},
series: []
};
$("#change").click(function(){
if ($("#list").val() == "A")
{
options.series = [{
name: 'Dik',
data: [49.90, 71.50, 106.40, 129.20]
}, {
name: 'Dun',
data: [83.60, 78.80, 98.50, 93.40]
}]
//$.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);
});
// nieuw gedeelte
var options = {
chart: {
renderTo: 'chart1',
defaultSeriesType: 'spline',
type: 'column'
},
series: []
};
$("#change").click(function () {
if ($("#list").val() == "A") {
options.series = [{
name: 'Begroot',
data: [49.90, 61.50, 106.40, 129.20]
}, {
name: 'Gebruikt',
data: [83.60, 78.80, 98.50, 93.40]
}]
} else {
options.series = [{
name: 'Begroot',
data: [19.90, 61.50, 26.40, 29.20]
}, {
name: 'Gebruikt',
data: [13.60, 28.80, 38.50, 53.40]
}]
}
var chart = new Highcharts.Chart(options);
});
$(函数(){
$('图表1')。高图({
图表:{
类型:“列”
},
标题:{
文字:“项目:Dikke fiets”
},
副标题:{
文字:“Begrote bedragen与gebruikte bedragen”
},
xAxis:{
类别:[
“材料”,
“个人”,
“Onderhoud”,
“迪克”
]
},
亚克斯:{
分:0,,
标题:{
文字:“欧元区的床单”
}
},
工具提示:{
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“&euro;{point.y:.1f}”,
页脚格式:“”,
分享:是的,
useHTML:true
},
打印选项:{
专栏:{
点填充:0.2,
边框宽度:0
}
},
系列:[{
名称:“Begroot”,
数据:[49.90,71.50,106.40,129.20]
}, {
名称:“Gebruikt”,
数据:[83.60,78.80,98.50,93.40]
}]
});
});
//nieuw gedeelte
变量选项={
图表:{
renderTo:'图表1',
defaultSeriesType:“样条线”
},
系列:[]
};
$(“#更改”)。单击(函数(){
如果($(“#列表”).val()=“A”)
{
options.series=[{
姓名:'迪克',
数据:[49.90,71.50,106.40,129.20]
}, {
姓名:‘邓’,
数据:[83.60,78.80,98.50,93.40]
}]
//$.get('/ruam/includes/live chart.php?mode=month'
}
其他的
{
options.series=[{name:'B',数据:[3,2,1,2,3]}]
//$.get('/ruam/includes/live chart.php?mode=newmode'
}
var图表=新的Highcharts.图表(选项);
});
//nieuw gedeelte
变量选项={
图表:{
renderTo:'图表1',
defaultSeriesType:“样条线”,
类型:“列”
},
系列:[]
};
$(“#更改”)。单击(函数(){
如果($(“#列表”).val()=“A”){
options.series=[{
名称:“Begroot”,
数据:[49.90,61.50,106.40,129.20]
}, {
名称:“Gebruikt”,
数据:[83.60,78.80,98.50,93.40]
}]
}否则{
options.series=[{
名称:“Begroot”,
数据:[19.90,61.50,26.40,29.20]
}, {
名称:“Gebruikt”,
数据:[13.60,28.80,38.50,53.40]
}]
}
var图表=新的Highcharts.图表(选项);
});
在JSFIDLE上,这是可行的。代码的问题是您在
上绑定了函数
#更改
按钮,该按钮稍后加载到代码中,因此导致未在按钮上附加侦听器
我已经检查了您的代码,并为您提供了两种解决方案
首先只需将函数脚本放在文件末尾,然后进行排序
...//your code snippet of end only
<script src="./js/highcharts/highcharts.js">
<script src="./js/highcharts/modules/exporting.js">
<script>
$(function () {
$('#chart1').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Project: Dikke fiets'
},
subtitle: {
text: 'Begrote bedragen versus gebruikte bedragen'
},
xAxis: {
categories: [
'Materiaal',
'Personeel',
'Onderhoud',
'dik'
]
},
yAxis: {
min: 0,
title: {
text: 'Bedrag in euro\'s'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>€ {point.y:.1f}</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Begroot',
data: [49.90, 71.50, 106.40, 129.20]
}, {
name: 'Gebruikt',
data: [83.60, 78.80, 98.50, 93.40]
}]
});
});
// nieuw gedeelte
var options = {
chart: {
renderTo: 'chart1',
defaultSeriesType: 'spline'
},
series: []
};
$("#change").click(function(){
if ($("#list").val() == "A")
{
options.series = [{
name: 'Dik',
data: [49.90, 71.50, 106.40, 129.20]
}, {
name: 'Dun',
data: [83.60, 78.80, 98.50, 93.40]
}]
//$.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);
});
// nieuw gedeelte
var options = {
chart: {
renderTo: 'chart1',
defaultSeriesType: 'spline',
type: 'column'
},
series: []
};
$("#change").click(function () {
if ($("#list").val() == "A") {
options.series = [{
name: 'Begroot',
data: [49.90, 61.50, 106.40, 129.20]
}, {
name: 'Gebruikt',
data: [83.60, 78.80, 98.50, 93.40]
}]
} else {
options.series = [{
name: 'Begroot',
data: [19.90, 61.50, 26.40, 29.20]
}, {
name: 'Gebruikt',
data: [13.60, 28.80, 38.50, 53.40]
}]
}
var chart = new Highcharts.Chart(options);
});
</script>
</body>
</html>
我希望这能解决你的问题
愉快的编码!!!您到底遇到了什么错误?我没有收到任何错误。但是该函数并没有替换我网站上的任何内容。在JSFIDLE it d上
$(document).ready(function(){
$("#change").click(function () {
if ($("#list").val() == "A") {
options.series = [{
name: 'Begroot',
data: [49.90, 61.50, 106.40, 129.20]
}, {
name: 'Gebruikt',
data: [83.60, 78.80, 98.50, 93.40]
}]
} else {
options.series = [{
name: 'Begroot',
data: [19.90, 61.50, 26.40, 29.20]
}, {
name: 'Gebruikt',
data: [13.60, 28.80, 38.50, 53.40]
}]
}
var chart = new Highcharts.Chart(options);
});
});