2015-08-14 68 views
24

在JSP應用程序中運行HighCharts時出現此錯誤。

Uncaught TypeError: $(...).highcharts is not a function(anonymous function) @ VendorReports:125n.Callbacks.j @ jquery-1.11.0.js:893n.Callbacks.k.fireWith @ jquery-1.11.0.js:928n.extend.ready @ jquery-1.11.0.js:982K @ jquery-1.11.0.js:989 

請建議做

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script src="http://code.highcharts.com/highcharts.js"></script> 
<script src="http://code.highcharts.com/modules/exporting.js"></script> 
$(function() { 
    $('#container').highcharts({ 
     colors: ["#7cb5ec", "#f7a35c"], 
     chart: { 
      type: 'column' 
     }, 
     title: { 
      text: 'Total fruit consumtion, grouped by gender' 
     }, 
     xAxis: { 
      categories: ['Apples' ] 
     }, 
     yAxis: { 
      allowDecimals: false, 
      min: 0, 
      title: { 
       text: 'Number of fruits' 
      } 
      //Nothing wrong with this code 
+0

請問您可以添加jsfiddle嗎? – Farhan

+0

無法重現,它的工作流暢 - > ** http://jsfiddle.net/nate439j/** – adeneo

+0

@ Farhan,http://jsfiddle.net/mxex28e2/。它的工作在那裏,但是當把它放在我的JSP中,得到這個錯誤 –

回答

33

我也有這個問題。確保jQuery在highchart.js之前導入。這爲我解決了這個問題。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script src="http://code.highcharts.com/highcharts.js"></script> 
+2

同樣在這裏,我剛剛意識到,highcharts是一個依賴於jQuery的庫,所以jQuery必須在高層圖上。 只要做出這個改變,任何人都應該很好去。如此天真的錯誤 - 我該怎麼做。 :) – Dharmavir

32

如果通過更換

$('#container').highcharts({ 
     colors: ["#7cb5ec", "#f7a35c"], 
     chart: { 
      type: 'column' 
     }, 
     /* ... */ 

會發生什麼

var chart = new Highcharts.Chart({ 
       colors: ["#7cb5ec", "#f7a35c"], 
       chart: { 
        type: 'column', 
        renderTo: 'container' 
       }, 
       /* ... */ 

我和前段時間有同樣的問題,我通過使用這種類型的初始化來解決它。

+0

但是如何調用圖表來附加到容器? –

+0

看看'renderTo:'container''這一行。這是你定義附加到哪個HTML元素的圖表:http://api.highcharts.com/highcharts#chart.renderTo – Kabulan0lak

+0

它看起來它的工作,但圖形不顯示:(..沒有錯誤 –

0

從官方示例中採取的方法運行良好。他們在body標籤中定義了include script標籤,因此Kabulan0lak給出的解決方案我認爲更好。

<html> 
<head> 
    <title>Highcharts Example</title> 

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $('#container').highcharts({ 
       chart: { 
        type: 'spline' 
       } 
       // ... other options and data/series 
      }); 
     }); 
    </script> 
</head> 

<body> 
<script src="https://code.highcharts.com/highcharts.js"></script> 
<script src="https://code.highcharts.com/modules/exporting.js"></script> 
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div> 
</body> 
</html> 
1

我正在使用高版本的舊版本。在他們的網站上,我認爲特定版本下列出的版本是他們的最新版本,因此它不會自動更新我的版本。然而,他們列出的版本是超舊的,所以將其更改爲實際的最新版本解決了問題。

0

它也發生在我身上。在我的情況下,我需要點擊一個按鈕來加載圖表,如果我點擊兩次或更多,圖表停止工作。我設置的顏色是這樣的:

Highcharts.setOptions({ 
     colors: Highcharts.map(Highcharts.getOptions().colors, function (color) { 
      return { 
       radialGradient: { 
        cx: 0.5, 
        cy: 0.3, 
        r: 0.7 
       }, 
       stops: [ 
        [0, color], 
        [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken 
       ] 
      }; 
     }) 
    }); 

$.getJSON("./myDataGraph.php", function(response){ 
     // Create the chart 
     var chart = Highcharts.chart('myGraph', { 
      chart: { 
       plotBackgroundColor: null, 
       plotBorderWidth: null, 
       plotShadow: false, 
       type: 'pie' 
      }, 
... }); 

我解決不了的錯誤,但我刪除了「Highcharts.setOptions」和圖表的作品!

相關問題