Javascript合計テーブル条件付き

ブライアン

2列のテーブルの値を合計する必要があります。ここで、col2が空白でない場合は各行について、合計に追加します。それ以外の場合は、代わりにcol1を追加します。次に、合計をdivに公開します

以下は私が試したものですが、空白を出力します。

var table = document.getElementById("PLTable");
    var cost_est = document.getElementsByClassName("cost_estimate");
    var act_cost = document.getElementsByClassName("act_cost");
    var sum2 = 0;
    for (var i = 0, row; row = table.rows[i]; i++) {
       if (act_cost[i].innerText>0) {
         sum2 += act_cost[i].innerText;
       }
       else {
         sum2 += cost_est[i].innerText;
       }
    }
    document.getElementById("cost_projected_total").innerHTML = sum2
<!--HTML data looks like this:-->

    <table id="PLTable">
      <thead>
        <tr>
          <th>cost estimate</th>
          <th>cost actual</th>
        </tr>
      </thead>
        <tr>
          <td class = "cost_estimate">100</td>
          <td class = "act_cost"></td>
        </tr>
        <tr>
          <td class = "cost_estimate">100</td>
          <td class = "act_cost">50</td>
        </tr>
    </table>
    
    <div id="cost_projected_total">
    </div>

正しい出力はsum2 = 150である必要があり、その結果はdiv内に出力される必要があります。

何か案は?

briosheje

コードで対処すべき点がいくつかあります。

何が悪かったのか、どのように変更すべきかを要約しようと思います。

  • table.rows 実際にはヘッドもループするため、インデックスは範囲外になります。
  • innerTextテキストを返すため、Number最初にその値を最初に変換する必要があります。そうしないと、文字列連結されます。

したがって、基本的に、コードを現在の状態に保つために私が行ったことは次のとおりです。

  • 追加しました tbody
  • table.rows数に変更されましたtbody
  • ループした項目の両方の数値を取得しました

以下は、上記の変更と修正を加えた作業コードです。かなり短くなっている可能性があります。最適なソリューションに依存することなく、どこで何が間違っているのかを理解できるように、コードをできるだけ近くに置いておきたいと思います。

var table = document.getElementById("PLTable");
var tbody = table.getElementsByTagName('tbody')[0];
var cost_est = document.getElementsByClassName("cost_estimate");
var act_cost = document.getElementsByClassName("act_cost");
var sum2 = 0;

for (var i = 0; i < tbody.getElementsByTagName('tr').length; i++) {
   var row_act_cost = Number(act_cost[i].innerText);
   var row_cost_est = Number(cost_est[i].innerText);
   if (row_act_cost > 0) {
     sum2 += row_act_cost;
   }
   else {
     sum2 += row_cost_est;
   }

}
document.getElementById("cost_projected_total").innerHTML = sum2;
<table id="PLTable">
  <thead>
    <tr>
      <th>cost estimate</th>
      <th>cost actual</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td class = "cost_estimate">100</td>
      <td class = "act_cost"></td>
    </tr>
    <tr>
      <td class = "cost_estimate">100</td>
      <td class = "act_cost">50</td>
    </tr>
   </tbody>
</table>

<div id="cost_projected_total">
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

条件付きの2つのテーブルからのSQLServer合計列

分類Dev

条件付きの巨大なSQLServerテーブルの合計行を計算する最速の方法は何ですか

分類Dev

データテーブルの行間の条件付き計算

分類Dev

条件付きでテーブルを条件付きで結合する

分類Dev

同じテーブルの複数の列の条件付きカウントを合計します

分類Dev

テーブルを選択して条件付きで結合

分類Dev

条件付きのテーブルの結合

分類Dev

1つのテーブルからのSQL条件付き結合

分類Dev

mysqlの条件付き結合テーブル

分類Dev

条件付きで3つのテーブルを結合する

分類Dev

複数のテーブルから条件付きで結合

分類Dev

Mysqlは条件付きのテーブルを結合します

分類Dev

異なるテーブルでのSQL条件付き結合

分類Dev

条件付きテーブルで結合する方法

分類Dev

1つのテーブルの条件付き結合

分類Dev

別のテーブルの情報に基づいて、あるテーブルから条件付きで合計する

分類Dev

結合テーブルを決定するための条件付き結合

分類Dev

条件付き結合で2つのテーブルを結合するPHPMySQL

分類Dev

MYSQL条件付き更新テーブル

分類Dev

JavaScript合計テーブル値

分類Dev

テーブルの合計-HTML / JavaScript

分類Dev

複数のテーブルを結合する際の合計カウントと条件付きカウントを一覧表示します

分類Dev

ビュー内の4つのテーブルのSQLServer条件付き結合

分類Dev

条件付きのSQLで3つのテーブルを結合する

分類Dev

条件付きの結合テーブルを一覧表示します

分類Dev

条件付きの結合テーブルを一覧表示します

分類Dev

同じテーブルを条件付きで2回結合する

分類Dev

条件付きのテーブルを結合して選択する方法は?

分類Dev

3つのテーブルから条件付きで結合する方法

Related 関連記事

  1. 1

    条件付きの2つのテーブルからのSQLServer合計列

  2. 2

    条件付きの巨大なSQLServerテーブルの合計行を計算する最速の方法は何ですか

  3. 3

    データテーブルの行間の条件付き計算

  4. 4

    条件付きでテーブルを条件付きで結合する

  5. 5

    同じテーブルの複数の列の条件付きカウントを合計します

  6. 6

    テーブルを選択して条件付きで結合

  7. 7

    条件付きのテーブルの結合

  8. 8

    1つのテーブルからのSQL条件付き結合

  9. 9

    mysqlの条件付き結合テーブル

  10. 10

    条件付きで3つのテーブルを結合する

  11. 11

    複数のテーブルから条件付きで結合

  12. 12

    Mysqlは条件付きのテーブルを結合します

  13. 13

    異なるテーブルでのSQL条件付き結合

  14. 14

    条件付きテーブルで結合する方法

  15. 15

    1つのテーブルの条件付き結合

  16. 16

    別のテーブルの情報に基づいて、あるテーブルから条件付きで合計する

  17. 17

    結合テーブルを決定するための条件付き結合

  18. 18

    条件付き結合で2つのテーブルを結合するPHPMySQL

  19. 19

    MYSQL条件付き更新テーブル

  20. 20

    JavaScript合計テーブル値

  21. 21

    テーブルの合計-HTML / JavaScript

  22. 22

    複数のテーブルを結合する際の合計カウントと条件付きカウントを一覧表示します

  23. 23

    ビュー内の4つのテーブルのSQLServer条件付き結合

  24. 24

    条件付きのSQLで3つのテーブルを結合する

  25. 25

    条件付きの結合テーブルを一覧表示します

  26. 26

    条件付きの結合テーブルを一覧表示します

  27. 27

    同じテーブルを条件付きで2回結合する

  28. 28

    条件付きのテーブルを結合して選択する方法は?

  29. 29

    3つのテーブルから条件付きで結合する方法

ホットタグ

アーカイブ