2016-11-23 15 views
0

プログラムの説明: - 私のプログラムは、javascript forループを使用して、 "arrays.js"という外部javascript配列のデータをHTMLテーブルに配置します。このプログラムは、 "Date Name Address Amount"の見出しの下に正しいデータを配置するように指定されています。Javascript/forループ/ HTMLテーブルの位置付け

問題: -Theデータ配列は、そのboundarysを逸脱しているか、私はそのは「金額」ヘッダの後に新しいレコードを作成していないテーブルヘッダ「日付名前アドレス額」の中に設定される境界の欠如を言う必要があり、その単純に同じ行に新しいレコードを追加します。 "Date"テーブルヘッダーの下にある次のレコード行に折り返したいと思います。したがって、arryaの日付の値は、「日付」ヘッダー、「Name」ヘッダーの下の名前の値などになります。例次のように.... 例:4つのヘッダー(日付、名前、住所、金額)私は次の配列の次の日付の開始を "日付"テーブルheader.Itの下に置くことを望んでいます。新しいレコードの行に折り返さない同じ行に配列の次の日付の値を置きます。コードは以下の通りです。

index.htmlを

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Winch - Lab 10</title> 
     <script src="arrays.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      function totalContributions() 
      { 
       var totalAmount = 0; 
       for (var i = 0; i < amount.length; i++) 
        totalAmount = totalAmount + amount[i]; 
       return totalAmount; 
      } 

     </script> 
    </head> 
    <body> 
    <table id="donations"> 
     <tr> 
      <th>Date</th> 
      <th>Name</th> 
      <th>Address</th> 
      <th>Amount</th> 
     </tr> 
     <script> 
      for (var x=0; x < amount.length; x++){ 
       if (x%2==0){ 
        document.write("<tr>"); 
       } else { 
        document.write("<tr class='stripe'>"); 
       } 
        document.write("<td>"+date[x]+"</td>"); 
        document.write("<td>"+firstName[x]+" "+lastName[x]+"</td>"); 
        document.write("<td>"+street[x]+"<br>"+city[x]+","+state[x]+" "+zip[x]); 
        document.write("<td class='amt'>$"+amount[x]+"</td>"); 
        document.write("</tr)"); 
      } 

     </script> 
    </table> 
    </body> 
    </html> 

**arrays.js** 

street = new Array(); 
city = new Array(); 
state= new Array(); 
zip = new Array(); 
amount = new Array(); 
date = new Array(); 


firstName[0]="Ron"; 
lastName[0]="Burgundy"; 
street[0]="88 Regal Lane"; 
city[0]="Williamsburg"; 
state[0]="KY"; 
zip[0]="40769"; 
amount[0]=625; 
date[0]="2015-07-18"; 


firstName[1]="Ricky"; 
lastName[1]="Bobby"; 
street[1]="407 Easy Street"; 
city[1]="London"; 
state[1]="KY"; 
zip[1]="40744"; 
amount[1]=75; 
date[1]="2015-07-18"; 


firstName[2]="Veronica"; 
lastName[2]="Corningstone"; 
street[2]="743 Stawlings Drive"; 
city[2]="Danville"; 
state[2]="KY"; 
zip[2]="40423"; 
amount[2]=50; 
date[2]="2015-07-16"; 


firstName[3]="Brick"; 
lastName[3]="Tamland"; 
street[3]="102 Maple Lane"; 
city[3]="Danville"; 
state[3]="KY"; 
zip[3]="40423"; 
amount[3]=150; 
date[3]="2015-07-15"; 

答えて

0

1) 日付名前アドレス金額は、あなたはarrays.jsファイル内firstNamelastName変数を定義するのを忘れました。 2)forループ内でtrタグが閉じていない、document.write("</tr)");からdocument.write("</tr>");に変更されました。

ワーキングコード:

のHTMLコード:

` ウィンチ - ラボ10 関数totalContributions(){ するvar totalAmount = 0。 (var i = 0; i < amount.length; i ++) totalAmount = totalAmount + amount [i]; return totalAmount; }

</script> 
</head> 
<body> 
<table id="donations" style="width:100%;" border="1"> 
    <tr> 
     <th>Date</th> 
     <th>Name</th> 
     <th>Address</th> 
     <th>Amount</th> 
    </tr> 
    <script> 
     for (var x=0; x < amount.length; x++){ 
      if (x%2==0){ 
       document.write("<tr>"); 
      } else { 
       document.write("<tr class='stripe'>"); 
      } 
       document.write("<td>"+date[x]+"</td>"); 
       document.write("<td>"+firstName[x]+" "+lastName[x]+"</td>"); 
       document.write("<td>"+street[x]+"<br>"+city[x]+","+state[x]+" "+zip[x]); 
       document.write("<td class='amt'>$"+amount[x]+"</td>"); 
       document.write("</tr>"); 
     } 

    </script> 
</table> 
</body> 
</html> 

arrays.js

street = new Array(); 
city = new Array(); 
state= new Array(); 
zip = new Array(); 
amount = new Array(); 
date = new Array(); 
firstName = new Array(); 
lastName = new Array(); 

firstName[0]="Ron"; 
lastName[0]="Burgundy"; 
street[0]="88 Regal Lane"; 
city[0]="Williamsburg"; 
state[0]="KY"; 
zip[0]="40769"; 
amount[0]=625; 
date[0]="2015-07-18"; 

firstName[1]="Ricky"; 
lastName[1]="Bobby"; 
street[1]="407 Easy Street"; 
city[1]="London"; 
state[1]="KY"; 
zip[1]="40744"; 
amount[1]=75; 
date[1]="2015-07-18"; 

firstName[2]="Veronica"; 
lastName[2]="Corningstone"; 
street[2]="743 Stawlings Drive"; 
city[2]="Danville"; 
state[2]="KY"; 
zip[2]="40423"; 
amount[2]=50; 
date[2]="2015-07-16"; 

firstName[3]="Brick"; 
lastName[3]="Tamland"; 
street[3]="102 Maple Lane"; 
city[3]="Danville"; 
state[3]="KY"; 
zip[3]="40423"; 
amount[3]=150; 
date[3]="2015-07-15"; 
+0

変更されたdocument.write( ""); **コードは今、私はstackoverflowの新しい答えを投票しようとしましたが、私はそうするenofポイントがありません?私はポイントを受け取ったときに戻ってきます。ありがとう "コア"私はあなたに報いるために戻ってきます。 –

+0

@EdwardWinch問題はない、私はそれがあなたを助けてうれしい。:) –

0

世界は角に動いている、と私はあなたが同じことをすることをお勧めします。

角度のある方法では、角度データテーブルまたは角材料データテーブルのいずれかを使用してこれを行うことができます。

  • 角度データテーブルは、1.5.8で正常に動作しなく angular2
  • 角度材料データ表ではサポートされない(MD-データテーブル)1.5.8 で動作され、 angle2でもサポートされています。以下

上記コードはまた、あなたのためのページ付けを行いMD-データテーブルの一例

<mdt-table table-card="{visible: true, title: 'Donations'}" paginated-rows = "true"> 
    <mdt-header-row> 
     <mdt-column align-rule="left"><b>Name</b></mdt-column> 
     <mdt-column align-rule="left"><b>Description</b></mdt-column> 
     <mdt-column align-rule="left"><b>Since Year</b></mdt-column> 
    </mdt-header-row> 
    <mdt-row ng-repeat="item in donations"> 
     <mdt-cell>{{item.name}}</mdt-cell> 
     <mdt-cell>{{item.description}}</mdt-cell> 
     <mdt-cell>{{item.since_yr}}</mdt-cell> 
    </mdt-row> 
    </mdt-table> 
  • あります。驚くばかり!
  • 上記のコードはまた、中に入れて行を選択するために使用することができます。

選択-行= "true" を何uがしなければならないことである: -

ng-appを使用して角度モジュールを作成します。これはur bodyタグに含めることも、上のコードの上に親タグを作成することもできます。 コントローラを書き込んでコントローラにロジックを移動させます。 以下はその例です。

angular.module('testModule',[]) 
     .controller('testController', function($scope){ 
      $scope.donations = function(){ 
       //Your logic for donations goes here. 
      };  
     });