2017-07-06 13 views
0

こんにちは、私はプログラミングと手を試してみるととても新しいです。私はハイチャートを使用しているプロジェクトに取り組んでいます。私はデータソースとしてCSVファイルを使用しています。私は複数のcsvファイルを持つ、ドロップダウンメニューから選択するオプションを持っている必要がありますコードドロップダウンメニューを追加して、ハイチャートのcsvファイルを選択してください

<script type='text/javascript'> 
$(document).ready(function() {  
    $.get('dhaka.csv', function(csv) { 
     // Create the chart 
     window.chart = new Highcharts.StockChart({ 
      chart: { 
       renderTo: 'container', 
       type:'spline' 
      }, 
      data: { 
       csv: csv 
      }, 
     }, function(chart) { 

     }); 
    }); 
}); 
</script> 


</head> 
<body> 
<select id="selectOpt"> 
    <option value="dhaka.csv">Dhaka</option> 
    <option value="khulna.csv">Khulna</option> 
    <option value="maymansingh.csv">Maymanshingh</option> 
</select> 
<div id="container" style="height: 600px; min-width: 600px; margin-top:10px;"></div> 
</body> 

をご覧ください。私は適切に説明して欲しいと思います。前もって感謝します。あなたの助けが必要です。

私はparsecsv.libを使ってcsvファイルを読みました。私の選択メニューはそのcsvからオプションを取得します。私はすでにやっている。しかし、私は他のいくつかの値を渡す必要がありますが、私はできません。私は、ドロップダウンメニューから選択するとき、それは川の名前を取るだろう、csvファイルは、この

Station,RiverName,Longtitude,Latitude,DL,HRWL,CL 
Amalshid,Kushiyara,92.4716,24.8845,15.85,18.28,100 
Bahadurabad,B'putra,89.6743,25.0934,19.5,20.62,1 
Hardinge.Bridge,Ganges,89.0279,24.072,14.25,15.19,1 

私が必要とするすべてのように見える更新されたコードは、ここに

<?php 
     require_once('parsecsv.lib.php'); 
     $csv = new parseCSV(); 
     $csv->auto('latlang.csv'); 
     $num = count($csv->data); 
     $numRow = $num-1; 
    ?> 
    <select id="selectOpt" style="width:200px;"> 
    <?php 
     for ($x = 0; $x <= $numRow; $x++) { 
      $ston= $csv->data[$x]['Station']; 
      //$arr = explode(' ',trim($ston)); 
      echo "<option value=".$ston.">".$ston."</option>"; 
     } 
    ?> 
    </select> 
    <div id="container" style="height: 400px; width: 600px; margin-top:10px;"></div> 
    <p id="demo"></p> 

</body> 
<script type='text/javascript'> 
$(document).ready(function() {  
    getChart('Amalshid'); 
}); 
var getChart = function(strFileName){ 
    $.get(strFileName + '.csv', function(csv) { 
    // I AM STUCK HERE // 
    // data form latlang.csv 
    var locations = <?php print json_encode($csv->data); ?>; 
    for (i = 0; i < locations.length; i++) { 
     var dataz = locations[i]; 
     document.getElementById('demo').innerHTML = strFileName + '<br>' + dataz.Station + '<br>' + dataz.DL + '<br>' + dataz.HRWL; 
    } 
     // Create the chart 
     window.chart = new Highcharts.StockChart({ 
      chart: { 
       renderTo: 'container', 
       type:'spline' 
      }, 
      data: { 
       csv: csv, 
       startRow: 34, 
       startColumn:3 
      }, 
     }, function(chart) { 

     }); 
    }); 
}; 

$("#selectOpt").on("change",function(e){ 
    getChart($(this).val()); 
}); 

..ですこれで私を助けてくださいDLを呼び出して値を渡します。事前

答えて

0

https://api.jquery.com/change/

highchartsイベント参照チャートが作成され、選択が変更されたときに呼び出されます。この新しい関数(「getChart」という名前の)は、引数としてcsvファイル名を受け入れ、$ .getに挿入します。今は、ドキュメントが読み込まれたときに一度だけチャートを作成しています。

$(document).ready(function() {  
    getChart('dhaka.csv'); 
}); 

var getChart = function(strFileName){ 
    $.get(strFileName, function(csv) { 
     // Create the chart 
     window.chart = new Highcharts.StockChart({ 
      chart: { 
       renderTo: 'container', 
       type:'spline' 
      }, 
      data: { 
       csv: csv 
      }, 
     }, function(chart) { 

     }); 
    }); 
}; 

$("#selectOpt").on("change",function(e){ 
    getChart($(this).val()); 
}); 

(注:このような

何かがトリックを行う必要があります。私はあなたのコードの一部が動作することを想定していますので、私はhighchartsとその慣れていないよ、私は唯一の単純な行為を実証しています選択肢の値を別の関数に渡すこと。別の質問であるチャートが生成されていない場合。

+0

こんにちは。しかし、今私はどこか別の場所にいる。私はあなたが助けることができる別のCSVファイルから選択メニューのオプションを取得しようとしている? – rabbishakir

+0

関数にファイルの名前を動的に挿入する必要があります。これを行うには多くの方法があります。ファイルの名前はどこから来ていますか?サーバーコード?ユーザー入力? – dinologic

0

で感謝の変化にそれが選択されたCSVファイルを取得するようにだからあなたのselect要素にイベントリスナーを設定して、あなたはとてもあなたが

をjqueryのをインストールしていると仮定しhighchartsを使用している

高チャートseries.setdataコマンドを使用していますあなたが必要となります

もの: イベントバインディング:あなたが楽しみを作成する必要がhttp://api.highcharts.com/highcharts/Series.setData

関連する問題