特定のクラスに基づいてtd内のすべての値の合計を取得しようとしています。コードはエラーをスローしませんが、私の合計は "0"になります。クラスに基づいてテーブル列のすべての値を合計します
数値は特定の方法で指定する必要がありますか?私はコードを模倣していたので、ここで他にもいくつかの答えを見ました。私と私の実際の違いは分かりません。ここで
は、私は参考のために続くチュートリアルでは、次のとおりです。ここではここhttp://viralpatel.net/blogs/2009/07/sum-html-textbox-values-using-jquery-javascript.html
は私のjavascriptのある
$(document).ready(function(){
$('.price').each(function() {
calculateSum();
});
});
function calculateSum() {
var sum = 0;
//iterate through each td based on class and add the values
$(".price").each(function() {
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseFloat(this.value);
}
});
$('#result').text(sum);
};
は私のhtml
<table border="1">
<tr>
<th>Item</th>
<th>Price</th>
</tr>
<tr>
<td>Banana</td>
<td class ="price">50</td>
</tr>
<tr>
<td>Apple</td>
<td class ="price">100</td>
</tr>
</table>
<div id="result"></div>
これは素晴らしいことでした。私はあなたが記述する方法で要素をループするためのコードを短縮できることを知りませんでした。それは非常に便利でした。ありがとう –
まあ、私はループしていたコードを短縮しませんでした。あなたは二度ループしていた。 1つはあなたの 'onload'ハンドラにあり、' calculateSum() '関数自体の中にあります。私は前者を取り除いた。私は 'ready'ハンドラの定義をショートカットしました。 –
それは私を助けた、ありがとうRob – StreetCoder