2017-05-13 10 views
0

インターネット上で.csvファイルをHTML形式のテーブルに変換する簡単な例(http://bl.ocks.org/ndarville/7075823)が見つかりました。私はコンテナの中に同じサンプルを実装し、それは本当にうまく動作します。だから、自分のアプリケーションで実装するために、javascriptコードを外部ファイルに入れることにしましたが、動作しません。なぜ私は働かないのだろうと思っています。私はD3で何の経験も持っていないので誰でも私を助けることができるidに感謝します。d3と外部のjavascriptファイルを使用したCSVからHTMLへのテーブル

//-------------------------file myscript.js -------------------------------------// 
function sTest(){ 


     d3.text("data.csv", function(data) { 
      var parsedCSV = d3.csv.parseRows(data); 

      var container = d3.select("#dataTable") 
       .append("table") 

       .selectAll("tr") 
        .data(parsedCSV).enter() 
        .append("tr") 

       .selectAll("td") 
        .data(function(d) { return d; }).enter() 
        .append("td") 
        .text(function(d) { return d; }); 
} 

//----------------------------file index.html ------------------------- 
<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet"  href="https://www.w3schools.com/w3css/4/w3.css"> 
    </head> 
    <body> 
     <script src="myscript.js"></script> 
     <script src="http://d3js.org/d3.v3.min.js"></script> 
     <div class="w3-container w3-cell-row w3-lobster"> 
      <p class="w3-xxlarge">Data Table:</p> 
     </div> //container where should be contained a table 
     <div style="height:350px;" class="w3-cell-row"> 
      <div id="dataTable" class="w3-container w3-cell w3-center w3-cell-middle w3-border w3-border-blue w3-round-xlarge"> 
      </div> 
      <div style="width:320px;" class="w3-container w3-cell w3-cell-middle w3-border w3-border-green w3-round-xlarge"> 
       <table class="w3-table w3-bordered"> 
        <tr> 
         <th>$$Resistor\,(R):$$</th> 
        </tr> 
        <tr> 
         <td><center><input type="number" style="text-align:center" id="Res" value="0" > 
         <label style="font:16px">$$\Omega$$</label></center></td> 
        </tr> 
        <tr> 
         <th>$$Resistor\,(R_B):$$<th> 
        </tr> 
        <tr> 
         <td><center><input type="number" style="text-align:center" id="Resb" value="0"> 
         <label style="font:16px">$$\Omega$$</label></center></td> 
        </tr> 
        <tr> 
         <th>$$Resistor\,(R_C):$$</th> 
        </tr> 
        <tr> 
         <td><center><input type="number" style="text-align:center" id="Resc" value="0"> 
         <label style="font:16px">$$\Omega$$</label></center></p></td> 
        </tr> 
       </table> 
      </div> 
     </div> 
     <p align="center"><input type="button" name="start" id="start" value="Start" onclick="sTest()" style="color:#00cc00"> 
    </body> 
</html> 
+1

"myscript.js"をボディの**ボトム**に置き、**の後に**をdataTableのIDで区切ってください。 –

答えて

0

javascriptの参照先を入れ替えます。受け入れを読んで、ロードJSライブラリの追加説明については

<script src="http://d3js.org/d3.v3.min.js"></script> 
<script src="myscript.js"></script> 

:(あなたがコードD3メソッドを呼び出すことがあります) myscript.jsので、以下のようにd3jsライブラリが最初にロードされていることを確認d3jsライブラリに依存しています load and execute order of scripts

関連する問題