6

मैं बिना किसी समस्या के Google चार्ट के साथ काम कर रहा हूं लेकिन अब मुझे एक बिंदु मिल गया है जहां मुझे अजाक्स-रेंडर आंशिक के अंदर एक चार्ट प्रदर्शित करने की आवश्यकता है।रेल में Google चार्ट 3.1 अजाक्स आंशिक

स्पष्ट रूप से कुछ भी नहीं दिख रहा है। मुझे पता है कि चार्ट को सक्रिय नहीं किया जा रहा चार्ट बनाने के लिए जावा ट्रिगर के साथ कुछ करना है, लेकिन मुझे कुछ मदद की ज़रूरत है जो मुझे करने की ज़रूरत है ...

वर्तमान में मेरे पास ऐसा कुछ है (गैर-अजाक्स) : यदि आप नीचे की तरह कुछ करने की ज़रूरत है अपने आंशिक रूप से

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

(आप jQuery का उपयोग कल्पना करते हुए):

<html> 
    <head> 
    <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load("visualization", "1", {packages:["corechart"]}); 
     google.setOnLoadCallback(drawChart); 
     function drawChart() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string', 'Year'); 
     data.addColumn('number', 'Sales'); 
     data.addColumn('number', 'Expenses'); 
     data.addRows([ 
      ['2004', 1000, 400], 
      ['2005', 1170, 460], 
      ['2006', 660, 1120], 
      ['2007', 1030, 540] 
     ]); 

     var options = { 
      width: 400, height: 240, 
      title: 'Company Performance', 
      vAxis: {title: 'Year', titleTextStyle: {color: 'red'}} 
     }; 

     var chart = new google.visualization.AreaChart(document.getElementById('chart_div')); 
     chart.draw(data, options); 
     } 
    </script> 
    </head> 
    <body> 
    <div id="chart_div"></div> 
    </body> 
</html> 

उत्तर

8

अपने मुख्य पृष्ठ में इन (कोई आंशिक में गूगल चार्ट लोड करने के लिए की जरूरत है) रहते हैं।

<div id="chart_div"></div> 
<script type="text/javascript"> 
    $(function() { 
    drawChart(); 
    }); 

    function drawChart() { 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'Year'); 
    data.addColumn('number', 'Sales'); 
    data.addColumn('number', 'Expenses'); 
    data.addRows([ 
     ['2004', 1000, 400], 
     ['2005', 1170, 460], 
     ['2006', 660, 1120], 
     ['2007', 1030, 540] 
    ]); 

    var options = { 
     width: 400, height: 240, 
     title: 'Company Performance', 
     vAxis: {title: 'Year', titleTextStyle: {color: 'red'}} 
    }; 

    var chart = new google.visualization.AreaChart(document.getElementById('chart_div')); 
    chart.draw(data, options); 
    } 
</script> 

एक पुस्तकालय का उपयोग करते हुए की तरह jQuery आप में से कई घंटे की बचत होगी: बिंदु है जो $ (function() {....}) करता डोम भरी हुई है के बाद जे एस कोड निष्पादित करने के लिए है डोम ठीक से लोड होने पर जानने के लिए ब्राउज़र असंगतताएं।

0

की जगह

google.setOnLoadCallback(drawChart); 

$(function() { 
    drawChart(); 
}); 

साथ AJAX partials के लिए चाल किया! मदद के लिए धन्यवाद, पहले डीओएम पुनः लोड हो रहा था लेकिन चार्ट डालने नहीं जा रहे थे।

संबंधित मुद्दे