recorre solo los de subtotal
Código HTML:
Ver original <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() {
$('#pedidos .cantidad').keyup( function (){
//Selecciono la fila donde se encuentra el cambio
var tr = $(this).closest('tr');
//Calculo el subtotal y muestro el valor en el input
var sub = $(this).val() * $('.precio', tr).val();
$('.subtotal', tr).val(sub.toFixed(2));
var total = 0;
$('.subtotal').each( function(){
if ($(this).val()!= '')
total += parseFloat( $(this).val() );
});
$('#total').val( total.toFixed(2) );
});
});
<td><input type="text" name="cantidad[]" class="cantidad"/></td> <td><input type="text" name="precio[]" disabled value="5.563" class="precio"/> <td><input type="text" name="subtotal[]" disabled class="subtotal"/></td> <td><input type="text" name="cantidad[]" class="cantidad"/></td> <td><input type="text" name="precio[]" disabled value="3" class="precio"/> <td><input type="text" name="subtotal[]" disabled class="subtotal"/></td> <td><input type="text" name="cantidad[]" class="cantidad"/></td> <td><input type="text" name="precio[]" disabled value="6" class="precio"/> <td><input type="text" name="subtotal[]" disabled class="subtotal"/></td> Total:
<input type="text" id="total" />
fijate que los decimales te los redondea, si haces 5.563 * 2 = 11.126 pero toFixed con 2 decimales te da 11.13