2012-04-12 10 views
2

変数をGoogleのグラフに渡そうとしていますが、グラフを表示しても表示されなくなると、入力欄に別の番号を入力するたびにグラフが変更されますしかし、私はちょうど今どこにもいらない。これは私が持っているものです、誰かが私が間違っていることについていくつかのガイダンスを提供できますか?変数をGoogle Piechartに渡す

はJavascriptを

<script type="text/javascript" src="https://www.google.com/jsapi"></script> 

    <script type="text/javascript"> 
     google.load('visualization', '1', {packages: ['corechart']}); 
    </script> 

    <script type="text/javascript"> 
     function numbers(){ 
      var work_field = document.forms['work_form']['work_n_field'].value; 
      var work_div = document.getElementById('number-work'); 
      var numberschart = work_div.innerHTML = work_field; 
      return false; 
     }; 

     function drawVisualization() { 
      // Create and populate the data table. 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string', 'Task'); 
     data.addColumn('number', 'Hours per Day'); 
     data.addRows(5); 
     data.setValue(0, 0, 'Work'); 
//Right here is where I pass my variable into the chart 
     data.setValue(0, 1, numberschart); 
//And I leave the rest here until I define more input field. 
     data.setValue(1, 0, 'Eat'); 
     data.setValue(1, 1, 2); 
     data.setValue(2, 0, 'Commute'); 
     data.setValue(2, 1, 2); 

     // Create and draw the visualization. 
     new google.visualization.PieChart(document.getElementById('visualization')). 
      draw(data, { 
      title:"Mortgage Rates", 
      colors: ['#a4b12d', '#818e0a', '#5c6601', '#f0fd79', '#dbe864'], 
      }); 
     }  
     google.setOnLoadCallback(drawVisualization); 
    </script> 

Htmlの

<div id="visualization" style="width: 400px; height: 300px;"></div> 
    <form name="work_form" onsubmit="return numbers()"> 
    <label id="n-work-label">Work</label><input name="work_n_field"/> 
    <button name="submit" id="submit" value="submit" onclick="numbers()">Submit</button> 
    </form> 
    <div id="number-work"></div> 
    </div> 

すべてのヘルプは大歓迎ですが、ありがとうござい

私もjsのフィドルにそれを追加しましたが、している資源、それにグラフを追加するときdoesntはそれを検出するようです。 http://jsfiddle.net/pkCCa/

答えて

4

知っている:これは完全に働い

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Example</title> 
     <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
     <script type="text/javascript"> 
       var numberschart = 10; //<- Initial value 
       google.load('visualization', '1', {packages: ['corechart']}); 

       function numbers(){ 
         var work_field = document.forms['work_form']['work_n_field'].value; 
         var work_div = document.getElementById('number-work'); 
         numberschart = work_div.innerHTML = work_field; 
         drawVisualization(); 
         return false; 
       }; 

       function drawVisualization() { 
        // Create and populate the data table. 
        var data = new google.visualization.DataTable(); 
        data.addColumn('string', 'Task'); 
        data.addColumn('number', 'Hours per Day'); 
        data.addRows(5); 
        data.setValue(0, 0, 'Work'); 
        //data.setValue(0, 1, 11); 
        data.setValue(0, 1, parseInt(numberschart));//<- The value you get from input field is a string, Google API will throw an error 
        data.setValue(1, 0, 'Eat'); 
        data.setValue(1, 1, 2); 
        data.setValue(2, 0, 'Commute'); 
        data.setValue(2, 1, 2); 

        // Create and draw the visualization. 
        new google.visualization.PieChart(document.getElementById('visualization')). 
         draw(data, { 
          title:"Mortgage Rates", 
          colors: ['#a4b12d', '#818e0a', '#5c6601', '#f0fd79', '#dbe864'], 
          animation:{ 
           duration:1000, 
           easing: 'out', 
          }, 
          vAxis: { 
           minValue:0, 
           maxValue:1000 
          }, 
         }); 
        }  
       google.setOnLoadCallback(drawVisualization); 
     </script> 
    </head> 
    <body> 
     <div id="visualization" style="width: 400px; height: 300px;"></div> 
     <form name="work_form" onsubmit="return false"> 
      <label id="n-work-label">Work</label><input name="work_n_field"/> 
      <button name="submit" id="submit" value="submit" onclick="numbers();return false;">Submit</button> 
     </form> 
     <div id="number-work"></div> 
    </body> 
</html> 
+0

感謝を! – user874185

+0

私はちょうどアニメーションがPieChartsのために働かないことを知った:-( –

+0

ええ、私はそれがdoesntを吸うことを知っている – user874185

0

これを試してみてください:

http://jsfiddle.net/schawaska/pkCCa/2/

を:それはあなたが使用しているキーは、そのドメイン用に設定されていないためjsfiddlerに働くつもりはありません。お使いの環境で試してみて、私はこれが私のために働いた