私はjQueryの初心者ですが、過去にいくつかの簡単なスクリプトをまとめることができました。私は新しい課題を抱えており、ゾーンにいることはわかっていますが、助けが必要です.
この形式の多数のテーブルを含む html ページがあります。
<table class="tableClass" id="tableID">
<col class="date" />
<col class="reference" />
<col class="amount" />
<thead>
<tr>
<th class="date">Date</th>
<th class="reference">Reference</th>
<th class="amount">Amount</th>
</tr>
</thead>
<tbody>
<tr>
<td>01-11-09</td>
<td>text here</td>
<td>33.66</td>
</tr>
<!— [ etc., many more rows ] -->
<tr class="total">
<td colspan="2">TOTAL:</td>
<td class="amount total"></td>
</tr>
</tbody>
</table>
この jQuery を使用して、class="amount" を 3 番目のセルに追加しています。
<script type="text/javascript">
$(document).ready(function(){
$("tbody tr td:nth-child(3)").addClass("amount").append("<span>$<\/span>");
});
</script>
...意図したとおりに動作します。
私の目的は、複数のテーブルのそれぞれで jQuery に「金額」セルの合計を計算させ、その結果を指定されたセル (tr.total td.total) に表示させることです。非jQuerying javascripterの助けを借りて、これをまとめました:
// instantiate the 'total' variable
var total = 0;
var currTotal = 0.00;
$(document).ready(function(){
$('table').each(function(){
// iterate through 3rd cell in each row in the tbody (td with an amount):
$("#tableID tbody tr td:nth-child(3)").css("color", "red").each(function() {
total += parseInt(100 * parseFloat($(this).text()));
});
currTotal = total/100;
alert('Total = $ ' + currTotal);
$(this).parent().find(".total .amount").html('<span>$<\/span>' + currTotal);
});
});
これは(明らかに)ページ内のすべての「金額」セルを合計し、すべての「合計」セルに書き込みます-閉じますが、明らかに、各合計をその親に表示する必要があることを正しく指定していません。私が欠けているものについて誰かが私をまっすぐにしてくれれば、私は大いに感謝しています.
乾杯、svs