2016-11-04 21 views
1

...私のコード:stockChartが定義されていない(...)

$(function() { 
    $.getJSON('https://www.highcharts.com/samples/data/jsonp.php?filename=aapl-v.json&callback=?', function (data) { 

     // create the chart 
     var options = { 
      chart: { 
       alignTicks: false, 
       renderTo: 'container' 
      }, 

      rangeSelector: { 
       selected: 1 
      }, 

      title: { 
       text: 'AAPL Stock Volume' 
      }, 

      series: [{ 
       type: 'column', 
       name: 'AAPL Stock Volume', 
       data: data, 
       dataGrouping: { 
        units: [[ 
         'week', // unit name 
         [1] // allowed multiples 
        ], [ 
         'month', 
         [1, 2, 3, 4, 6] 
        ]] 
       } 
      }] 
     }; 

    }); 
    var chart = new stockChart(options); 
}); 

ブラウザは何も表示され、私の場合はありませんエラーを見に行く; stockChartが定義されていない

(...)

私はまた、このJSFiddleからのコードを試してみましたが、それはどちらか動作しませんでした。だから、私はオプションを使用しようとしましたが、これはうまくいきません..誰かが私を助けることができますか?

+0

var chart = Highcharts.stockChart(options); doesnt仕事? –

答えて

1

はあなたの初期化スクリプトの前にHighStock JavaScriptライブラリを追加する必要があります。

<script src="https://code.highcharts.com/stock/highstock.js"></script> 
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script> 

また、フィドルに与えられたとして、あなたが初期化するためにこれを使用することができます:

chart = Highcharts.stockChart('container', options); 
+0

こんにちは私はこれを試みましたが、まだグラフが表示されていません:-( –

0

使用をHighcharts.stockChartnew Highcharts.StockChart

また、データが受信される前に(get.jsonが非同期で動作する)新しいチャートを作成し、異なるスコープで定義されているoptionsにアクセスしようとします。

$(function() { 
$.getJSON('https://www.highcharts.com/samples/data/jsonp.php?filename=aapl-v.json&callback=?', function (data) { 

    // create the chart 
    var options = { 
     chart: { 
      alignTicks: false, 
      renderTo: 'container' 
     }, 

     rangeSelector: { 
      selected: 1 
     }, 

     title: { 
      text: 'AAPL Stock Volume' 
     }, 

     series: [{ 
      type: 'column', 
      name: 'AAPL Stock Volume', 
      data: data, 
      dataGrouping: { 
       units: [[ 
        'week', // unit name 
        [1] // allowed multiples 
       ], [ 
        'month', 
        [1, 2, 3, 4, 6] 
       ]] 
      } 
     }] 
    }; 
    var chart = Highcharts.stockChart(options); // alternatively new Highcharts.StockChart(options); 
}); 

}); 
+0

私はこれを試しましたが、まだグラフが表示されていません:-( –

+0

ページを何度もリロードした後、 ... –

1

関数 "stockChart"をキーワード "new"を使用してコンストラクタ関数として呼び出しています。あなたのコードでは、stockChart関数はどこにも見つからないので、あなたは "定義されていないエラー"を得る理由はあります!

この機能により、1回の書き込み

var stockChart = function(opt){ 
     this.someproperty = "hello there im a stockchart" 
    }; 

を作成するには、その後、「新しい」stockChart

var my_stockchart = new stockChart(); 

は、今すぐあなたの新しく形成されたmy_stockchartオブジェクトを使用し、そのメソッドを呼び出すことができます。あなたのコンソールで試してみてください。

my_stockchart.someproperty 

    returns => "hello there im a stockchart" 

ここで、迅速で汚れた回答が必要な場合は、他の人があなたをカバーしていると思います。だから基本的には、あなたのコードでまだ定義されていない関数を呼び出しているということです。お役に立てれば。

関連する問題