2016-03-25 11 views
2

別のJS関数を呼び出してJSON配列データを送信しています。 2番目の関数にデータを送信している間、私は未定義/ nullとして値を取得しています。 1つのJS関数からJSON配列データを別の関数に送る方法は?1つのJS関数から別のJS関数にJSON配列データを送信する方法は?

機能:1

$(function createJsonArray() { 

      var categories = [ 
        'Jan', 
        'Feb', 
        'Mar', 
        'Apr', 
        'May', 
        'Jun', 
        'Jul', 
        'Aug', 
        'Sep', 
        'Oct', 
        'Nov', 
        'Dec' 
       ]; 

      var confidence = [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]; 

      var jsonArray = { 
       issueData: [] 
      }; 

      jsonArray.issueData.push({ 
       "categories": categories, 
       "confidence": confidence 
      }); 
      //alert('categories: ' + jsonArray.issueData[0].categories); 


      // calling function-2 
      createGraph(JSON.stringify(jsonArray)); 
     }); 

機能:2

$(function createGraph(graphData) { 
      var jsonArray = $.parseJSON(graphData); 
      alert('jsonArray: ' + jsonArray); 
      $('#container').highcharts({ 
       chart: { 
        type: 'column' 
       }, 
       title: { 
        text: 'Monthly Average Rainfall' 
       }, 
       subtitle: { 
        text: 'Source: WorldClimate.com' 
       }, 
       xAxis: { 
        categories: jsonArray.issueData[0].categories, 
        crosshair: true 
       }, 
       yAxis: { 
        min: 0, 
        title: { 
         text: 'Rainfall (mm)' 
        } 
       }, 
       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} mm</b></td></tr>', 
        footerFormat: '</table>', 
        shared: true, 
        useHTML: true 
       }, 
       plotOptions: { 
        column: { 
         pointPadding: 0.2, 
         borderWidth: 0 
        } 
       }, 
       series: [{ 
        name: 'Tokyo', 
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 

       }] 
      }); 
     }); 

JSfiddleリンク

+0

あなたのコードに 'value'の言及はありません..? – Amadan

+1

これをチェックしてください。http://jsfiddle.net/hLkUz/69/ createGraphメソッドはcreateJsonArrayメソッドから呼び出されていません。これは、スクリプトがロードされているためです。 – gurvinder372

+0

なぜあなたはそれらを '$(function'?)にラップしますか? – charlietfl

答えて

1

チェックこの更新fiddle

createJSONArray()メソッドを呼び出して、$(function functionName)のjquery呼び出しを取り除き、代わりに単純なメソッドを定義する必要があります。

関連する問題