2016-04-20 3 views
1

しばらくの間、私はjavascript関数に基づいてamChartを塗りつぶしています。私が望むのは、変数として、変化しない多くのチャートプロパティを設定することです。これは、グラフを作成または埋め込む多くの関数で使用できます。私のコードは関数に基づいて塗りつぶすamChartを取得できません

var chartProperties = { 
    "theme": "light", 
    "type": "serial", 
    "startDuration": 1, 
    "dataProvider": [], 
    "rotate": false, 
    "categoryField": "organisatie", 
     "valueAxes": [ { 
     "gridColor": "#FFFFF", 
     "minimum": 0, 
     "gridAlpha": 0.2, 
     "dashLength": 0 
     } ], 
     "gridAboveGraphs": true, 
     "startDuration": 1, 
     "graphs": [ { 
     "balloonText": "[[category]]: <b>[[value]]</b>", 
     "fillColorsField": "fillcolor", //Dit veld heb ik meegegeven vanuit SQL functie en bevat de HEX kleurcodes BD 
     "fillAlphas": 0.8, 
     "lineAlpha": 0.2, 
     "type": "column", 
     "valueField": "score" 
     } ], 
     "chartCursor": { 
     "categoryBalloonEnabled": false, 
     "cursorAlpha": 0, 
     "zoomable": false 
     }, 
     "categoryAxis": { 
     "gridPosition": "start", 
     "gridAlpha": 0, 
     "tickPosition": "start", 
     "tickLength": 20 
     }, 
     "export": { 
     "enabled": true 
     } 

}; 

var chart = AmCharts.makeChart("chartaveragescore", chartProperties); 
var organization = $("#organization").val(); 
var indicator = $("#indicators").val(); 
var funcid = "fill_chart_average_score"; 

var dataChart = $.getJSON('functions/getfunctions.php', { 
    "organization":organization, 
    "indicator":indicator, 
    "funcid":funcid}); 

function updateOrganizationAverageScore() { 

    chart.dataProvider = dataChart; 
    chart.validateData(); 

} 

私は間違っていることを理解していません。 $ .getJSONを変数に設定できますか?どんな助けでも大歓迎です。

答えて

0

私はすでにそれを自分で解決しました。ここでStackを見て、直接var =$.getJSONに設定できないことを発見し、コールバックが不足しているので後で使用します。

機能するようになりました私のコードは次のとおりです。

function updateOrganizationAverageScore() { 

    var organization = $("#organization").val(); 
    var indicator = $("#indicators").val(); 
    var funcid = "fill_chart_average_score"; 

    //console.log('changed'); 
    $.getJSON('functions/getfunctions.php', { 
     "organization":organization, 
     "indicator":indicator, 
     "funcid":funcid}, 

    function(dataChart) { 

      var chart = AmCharts.makeChart("chartaveragescore", chartProperties); 
      chart.dataProvider = dataChart; 
      chart.validateData(); 
      chart.startDuration = 1; 
    }); 
} 
関連する問題