2016-04-19 2 views
0

私は、ウェブページの隠しフィールドからデータを取り出すGoogleのチャートを作ろうとしています。配列を含む文字列からJavascript DataTableに行を追加するにはどうすればよいですか?

私はdata.addRows経由で直接にデータを追加した場合、それが正常に動作します:

しかし
google.charts.load('current', {packages: ['corechart', 'line']}); 
google.charts.setOnLoadCallback(drawChart); 

function drawChart() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('date', 'Date'); 
     data.addColumn('number', 'Rainfall');  

     data.addRows([[new Date(2000, 8, 5), 56], [new Date(2000, 8, 6), 22], [new Date(2000, 8, 7), 44], [new Date(2000, 8, 8), 40], [new Date(2000, 8, 9), 62]]); 

     var options = { 
     title: 'Rainfall' 
     }; 

     var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
     chart.draw(data, options); 
    } 

、私がしようとする配列を含む文字列を作成し、それが動作しないAddRowsをを使用して、それを追加した場合:

google.charts.load('current', {packages: ['corechart', 'line']}); 
google.charts.setOnLoadCallback(drawChart); 

function drawChart() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('date', 'Date'); 
     data.addColumn('number', 'Rainfall');  

     var myData = "[[new Date(2000, 8, 5), 56], [new Date(2000, 8, 6), 22], [new Date(2000, 8, 7), 44], [new Date(2000, 8, 8), 40], [new Date(2000, 8, 9), 62]]" 

     data.addRows(myData); 

     var options = { 
     title: 'Rainfall' 
     }; 

     var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
     chart.draw(data, options); 
    } 

DataTableに文字列のデータを追加するにはどうすればよいですか?

JSFiddleは:

答えて

1

https://jsfiddle.net/oo5w6ghf/4/はそれを考え出した - 私は、文字列に「evalの」を追加する必要があります。だから、限り、あなたはevalを使っに対するアドバイスを意識していると取るに満足しているよう

var myData = eval("[[new Date(2000, 8, 5), 56], [new Date(2000, 8, 6), 22], [new Date(2000, 8, 7), 44], [new Date(2000, 8, 8), 40], [new Date(2000, 8, 9), 62]]") 
+0

これらのリスクについては、それは問題ありません。私はこれを行う直前に他の方法は見当たりませんが、evalを使うことは走っているチェーンソーをじゃあやっていることに気づく必要があります。それ以外の場合は危険で血まみれです。 – enhzflep

関連する問題