2017-10-09 3 views
0

ユーザーは遺伝子データベース内の遺伝子を検索することができます。データベースはこの遺伝子のサブタイプを返します。サブタイプはオプション選択に動的にロードされます。 ユーザーがオプション選択からサブタイプをクリックすると、グラフがプロットされます。しかし、私はなぜそれができないのか分かりません。私のajax呼び出しが正しく行われていないと推測しますが、私は問題を見つけることができません。 enter image description hereajaxからgoogle chart on option select

データは、アラートに伝わってきます。しかし、Googleのチャートがプロットされません:(

コード

<script src="jquery-3.2.1.js"></script> 
<script type="text/javascript"> 

    $(document).ready(function(){ 
    $("#selectinput").change(function(){ 
     var input = $(this).val(); 
     var dataString = "selectinput="+input; 
     google.charts.load('current', {'packages':['corechart']}); 
     google.charts.setOnLoadCallback(drawchart); 

     function drawchart(){ 
     $.ajax({ 
     type: "POST", 
     url: "get-data.php", 
     data: dataString, 
     success: function(result){ 
      var res = result.slice(2, -2); 
      var str = res.replace(/["]/g, ""); 
      alert(str); //alert the right data! 
      var data = new google.visualization.arrayToDataTable([str]); 
      //apparently this doesn't work 

     var options = { 
     title: 'Transcriptome', 
     hAxis: { ticks: [1, {v:2, f:'Layer 2/3'}, {v:3, f:'Layer 4'}, 4] }, 
     vAxis: {title: 'MEAN'}, 
     bubble: {textStyle: {fontSize: 11}}, 
     sizeAxis: {maxSize: 30, minSize: 15}, 
     bubble: {textStyle: {color: 'none'}} 

     }; 

     var chart = new google.visualization.BubbleChart(document.getElementById('serieschart')); 
     chart.draw(data, options); 


     } 
     }); 
     } 

    }); 
    }); 
</script> 

<div id="serieschart" style="width: 900px; height: 500px;"></div> 

ヘルプははるかに高く評価 EDITを:!私はすでにプロットチャートの話ではない それは新しいものをプロットしています。オプションの下に、それは今ないかを選択

答えて

0

はあなたのAjaxリクエストに追加しようとしたことがあり:

dataType:'json' 
0123成功変化

var data = google.visualization.arrayToDataTable(result);

+0

は、出力は変更されません。お返事ありがとうございます – RandomDNA

+0

私はわかりませんが、確信していますか: '[[str]' は2次元配列ですか? iは[]内のその文字列を考えると、これはおそらく問題 arrayToDataTable期待ので、二次元配列として最初のパラメータ – Rafael

+0

'jQuery.parseJSON( '[111222]、[111333]]');' 'STR = jQueryの。 parseJSON(結果); ''新しいgoogle.visualization.arrayToDataTable(STR);あなたが画像で見ることができるよう ' – Rafael