我想获得一些游乐设施的总数和平均值。 现在我整整都沉迷于此,首先我尝试了它的跨度,但我想可能有一个阵列更好,希望有人可以帮助我丢失的部分。
示例:http://jsbin.com/inapey/31/edit
<tbody id="rides">
<tr>
<td class="muted"><small>Mr.</small></td>
<td>John</td>
<td>Smith</td>
<!-- Every ride of this person -->
<td class="ride_km" style="display:none;">225,75</td>
<!-- Sum & Average of this person -->
<td class="ride_total_km"></td>
<td class="ride_average_km"></td>
</tr>
<tr>
<td class="muted"><small>Mrs.</small></td>
<td>Jane</td>
<td>Smith</td>
<!-- Every ride of this person -->
<td class="ride_km" style="display:none;">150,300</td>
<!-- Sum & Average of this person -->
<td class="ride_total_km"></td>
<td class="ride_average_km"></td>
</tr>
</tbody>
jquery的
$(document).ready(function(){
var total = 0;
$('#rides tr').each(function() {
var RidesKM = $(this).fin('.ride_km').html().split(",");
var arr = jQuery.makeArray(RidesKM);
alert(arr);
var SumKM = ???;
var AveKM = ???;
/* Total KM's */
$(this).find('.ride_total_km').html(SumKM);
/* Average KM's */
$(this).find('.ride_average_km').html(AveKM.toFixed(0));
});
});
答案 0 :(得分:3)
*更新了答案。
以下是代码:
$(document).ready(function () {
$('#rides tr').each(function () {
var that = $(this);
var sum = 0;
that.find('.ride_km').each(function () {
var values = $(this).text().split(',');
$.each(values,function() {
sum += parseFloat(this);
});
/* Total KM's */
that.find('.ride_total_km').html(sum.toFixed(2));
/* Average KM's */
that.find('.ride_average_km').html((sum / values.length).toFixed(2))
});
});
});
虽然您将值存储在隐藏的td中,但这很奇怪。我建议(如果你可以在javascript中进行所有计算,或者如果可能的话从服务器进行计算(如果你使用的是PHP或其他东西)。
答案 1 :(得分:0)
如果我理解正确,你想要每个人的总数。在这种情况下,您不需要total
变量:
$(document).ready(function(){
$('#rides tr').each(function() {
var SumKM = 0;
var RidesKM = $(this).find('.ride_km').html().split(",");
for (i = 0; i < RidesKM.length; i++) {
SumKM += parseInt(RidesKM[i]);
}
var AveKM = SumKM / RidesKM.length;
/* Total KM's */
$(this).find('.ride_total_km').html(SumKM);
/* Average KM's */
$(this).find('.ride_average_km').html(AveKM.toFixed(0));
});
});