2016-04-18 18 views
-3

私はHTMLテーブルを作成しました。最後の列で、いくつかの値の合計に係数を掛けたものを計算します。HTMLテーブル - (値*係数)JQueryの合計

私はこの説明では非常にひどかったことを知っている:私は明確なことができると、以下の画像を添付しました理由ですD:に「平均スコア」欄で私が欲しい

Jquery sum coefficient

、同じ行の各列の(数量*スコア)の合計を計算

テーブルのHTMLコードの下に見つけてください:

<pre> 
<table id="kitchen"> 
    <tr> 
    <th colspan="2" class="Batch">Batch 1</th> 
    <th colspan="2" class="Batch">Batch 2</th> 
    <th colspan="2" class="Batch">Batch 3</th> 
    <th colspan="2" class="Batch">Batch 4</th> 
    <th colspan="2" class="Batch">Batch 5</th> 
    <th rowspan="2">Variety Score</th> 
    <th rowspan="2">Average Score</th> 
    </tr> 
    <tr> 
    <th class="Qty">Qty</th> 
    <th class="Item_Score">Score</th> 
    <th class="Qty">Qty</th> 
    <th class="Item_Score">Score</th> 
    <th class="Qty">Qty</th> 
    <th class="Item_Score">Score</th> 
    <th class="Qty">Qty</th> 
    <th class="Item_Score">Score</th> 
    <th class="Qty">Qty</th> 
    <th class="avg_score">Score</th> 
    </tr> 
    <tr> 
    <td class="qty">10</td> 
    <td class="score">7.5</td> 
    <td class="qty">20</td> 
    <td class="score">6</td> 
    <td class="qty">212</td> 
    <td class="score">9.2</td> 
    <td class="qty">9</td> 
    <td class="score">7.9</td> 
    <td class="qty">1</td> 
    <td class="score">7.5</td> 
    <td class="variety_score">10</td> 
    <td class="avg_score">7.5</td> 
    </tr> 
    <tr> 
    <td class="qty">100</td> 
    <td class="score">4.5</td> 
    <td class="qty">15</td> 
    <td class="score">5</td> 
    <td class="qty">22</td> 
    <td class="score">9.2</td> 
    <td class="qty">18</td> 
    <td class="score">3.5</td> 
    <td class="qty">90</td> 
    <td class="score">9.5</td> 
    <td class="variety_score">10</td> 
    <td class="avg_score">7.5</td> 
    </tr> 

+0

バッチの一定数ありますか? 5?また、どのようにこのテーブル情報をまとめていますか? – Adjit

+0

あなたが試したJavaScriptを投稿するのを忘れた。 – j08691

+0

SOは無料のコーディングサービスではありません。あなた自身でそれを解決するためには、試行錯誤が必要です。あなたがそれを働かせることができない場合は、私たちはそれを修正するのを手伝ってくれます。 – Barmar

答えて

0

このコードは、あなたがしたいことに使用できます。私は余分なclass dataをデータを含む行に加えました。

$('.data').each(function(index, tr) { 
 
    var lines = $('td', tr).map(function(index, td) { 
 
     return $(td).text(); 
 
    }); 
 
\t var sum = 0; 
 
    var n = 0; 
 
    for(var i = 0; i < lines.length - 1; i+=2) { 
 
    \t sum = sum + lines[i]*lines[i + 1]; 
 
     n = n + lines[i]*1; 
 
     
 
    } 
 
\t $(this).find('td:last').html(sum/n); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<pre> 
 
<table id="kitchen"> 
 
    <tr> 
 
    <th colspan="2" class="Batch">Batch 1</th> 
 
    <th colspan="2" class="Batch">Batch 2</th> 
 
    <th colspan="2" class="Batch">Batch 3</th> 
 
    <th colspan="2" class="Batch">Batch 4</th> 
 
    <th colspan="2" class="Batch">Batch 5</th> 
 
    <th rowspan="2">Variety Score</th> 
 
    <th rowspan="2">Average Score</th> 
 
    </tr> 
 
    <tr> 
 
    <th class="Qty">Qty</th> 
 
    <th class="Item_Score">Score</th> 
 
    <th class="Qty">Qty</th> 
 
    <th class="Item_Score">Score</th> 
 
    <th class="Qty">Qty</th> 
 
    <th class="Item_Score">Score</th> 
 
    <th class="Qty">Qty</th> 
 
    <th class="Item_Score">Score</th> 
 
    <th class="Qty">Qty</th> 
 
    <th class="avg_score">Score</th> 
 
    </tr> 
 
    <tr class="data"> 
 
    <td class="qty">10</td> 
 
    <td class="score">7.5</td> 
 
    <td class="qty">20</td> 
 
    <td class="score">6</td> 
 
    <td class="qty">212</td> 
 
    <td class="score">9.2</td> 
 
    <td class="qty">9</td> 
 
    <td class="score">7.9</td> 
 
    <td class="qty">1</td> 
 
    <td class="score">7.5</td> 
 
    <td class="variety_score">10</td> 
 
    <td class="avg_score"></td> 
 
    </tr> 
 
    <tr class = "data"> 
 
    <td class="qty">100</td> 
 
    <td class="score">4.5</td> 
 
    <td class="qty">15</td> 
 
    <td class="score">5</td> 
 
    <td class="qty">22</td> 
 
    <td class="score">9.2</td> 
 
    <td class="qty">18</td> 
 
    <td class="score">3.5</td> 
 
    <td class="qty">90</td> 
 
    <td class="score">9.5</td> 
 
    <td class="variety_score">10</td> 
 
    <td class="avg_score"></td> 
 
    </tr>

関連する問題