2010-12-11 7 views
-2

グラフの種類はコンボボックスから選択したときに同じデータリストに対して再描画する必要がありますが、どのようにこれを達成するためのアイデア、いくつかの助けをお願いしますか?これに関するチュートリアルは何ですか?コンボボックスから選択してグラフを再描画します

+1

既存のグラフが生成され、どのように?いくつかのコードを表示するか、よりよく説明してください。 – mario

+0

これはcodeigniterを使用して行われ、view_chart.phpというビューがこのファイルにあります。このコードは$ FC = new FusionCharts( "Column3D"、 "600"、 "300"); Column3Dはグラフの種類です。私は、このリストからチャートの1つを選択すると、このページにコンボボックスを表示する必要があります。この$ FC = new FusionCharts( ..);グラフの種類を変更してページをリロードする必要がありますか? –

+0

これは私がこのチャート機能を持っているソースですhttp://codeigniter.com/forums/viewthread/169233/ –

答えて

0

簡単な方法は、引数としてグラフIDまたは名前をとり、そのグラフを即座に生成するコントローラ/メソッドを作成することです。次に、jQueryを使用して、このコントローラ/メソッドへのajax呼び出しを行い、生成されたグラフをフェッチし、ページ上の既存のものを置き換えます。

実装例:

<script type="text/javascript"> 
    $(function(){ 
     $('select[name=graphList]').change(function(e){ 
      e.preventDefault(); 
      var graphID = $(this).val(); //returns the selected option's value 

      // make an ajax call to the method/controller to fetch the new graph HTML 
      $.ajax({ 
       // append (new Date()).getTime() to url to prevent session timeout 

       url:"http://your_url_here/controller/method/" + graphID + "/" + (new Date()).getTime(), 
        success: function(data){ 
          // data should now contain the graph HTML for the new generated graph 
          // simply put this html into the graph div 
          $('#graph').html(data); 
         } 
      }); 
     }); 
    }); 
</script> 

<!-- HTML example below --> 
<select name="graphList"> 
    <option value="1">Graph 1</option> 
    <option value="2">Graph 2</option> 
    <option value="3">Graph 3</option> 
</select> 

<div id="graph"> 

</div> 
+0

jqueryで使うべき方法は何ですか? –

+0

いくつかの例をお寄せください。実装を参照するリンク?? –

関連する問題