Reputation: 730
This is a long shot but I keep getting the following error when trying to create a highchart chart:
Object [object Object] has no method 'highcharts'.
I feel like I've checked everything my code is as follows:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<meta name="viewport" content="width=device-width" />
<link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="/Content/jquery.mobile-1.4.0.css" rel="stylesheet"/>
<link href="/Content/jquery.mobile.external-png-1.4.0.css" rel="stylesheet"/>
<link href="/Content/jquery.mobile.icons-1.4.0.css" rel="stylesheet"/>
<link href="/Content/jquery.mobile.inline-png-1.4.0.css" rel="stylesheet"/>
<link href="/Content/jquery.mobile.inline-svg-1.4.0.css" rel="stylesheet"/>
<link href="/Content/jquery.mobile.structure-1.4.0.css" rel="stylesheet"/>
<link href="/Content/jquery.mobile.theme-1.4.0.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.6.2.js"></script>
<script src="/Scripts/jquery-1.8.2.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#container').highcharts({
title: {
text: 'Monthly Average Temperature',
x: -20 //center
},
subtitle: {
text: 'Source: WorldClimate.com',
x: -20
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
title: {
text: 'Temperature (°C)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: '°C'
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
},
series: [{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}, {
name: 'New York',
data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
}, {
name: 'Berlin',
data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
}, {
name: 'London',
data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
}]
});
});
</script>
</head>
<body>
<div data-role="page" data-theme="a">
<div data-role="header">
<h1></h1>
<a data-icon="gear" href="/Account">Settings</a> </div>
<div data-role="content">
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
<script src="/Scripts/highcharts.js"></script>
</div>
</div>
<script src="/Scripts/jquery-1.8.2.js"></script>
<script>
$(document).on("mobileinit", function () {
$.mobile.ajaxEnabled = false;
});
</script>
<script src="/Scripts/jquery.mobile-1.4.0.js"></script>
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Chrome","requestId":"2c1a28f702104508b30b2c4c93c42b9d"}
</script>
<script type="text/javascript" src="http://localhost:2001/9acf1f934ca943efb50ac2522dda7331/browserLink" async="async"></script>
<!-- End Browser Link -->
</body>
</html>
I'm trying to get this working with JQuery Mobile 1.4.1 and ASP.Net MVC but I'm struggling as to why is can't see highcharts. In the Console window I can see that the window.HighCharts object is loaded so I don't know why the $('container').highcharts() call isn't seen ...
That's the only error message I'm currently seeing.
Anyone got any ideas ?
Upvotes: 0
Views: 392
Reputation: 4776
you have included j query twice, remove the one included after the chart is generated.
For Highcharts to work you should include jquery before the script is loaded.
you can also try stand alone version of highcharts. that doesn't need jquery to run.
Upvotes: 1
Reputation: 9544
You have included jquery twice .
Remove and try it will work .
The second include will remove all plugins that you included before it.
Upvotes: 1
Reputation: 1739
You are including the script after you call the function, try to include it first.
Upvotes: 1