Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/12/2010, 11:36
cargosan
 
Fecha de Ingreso: abril-2003
Ubicación: Malaga
Mensajes: 176
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: Pequeña hoja de pedidos

Cita:
Iniciado por Dany_s Ver Mensaje
no hace falta volver a calcular los valores de las otras filas, solo la fila donde hubo modificación

Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplo</title>
  3.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  4.         <script type="text/javascript">
  5.         $(document).ready(function() {
  6.             $('#pedidos .cantidad').keyup( function (){
  7.                 //Selecciono la fila donde se encuentra el cambio
  8.                 var tr = $(this).closest('tr');
  9.                 //Calculo el subtotal y muestro el valor en el input
  10.                 var sub = $(this).val() * $('.precio', tr).val();
  11.                 $('.subtotal', tr).val(sub);
  12.             });
  13.         });
  14.         </script>
  15.     </head>
  16.     <body>
  17.  
  18.         <table>
  19.             <thead>
  20.                 <tr>
  21.                     <td>Producto</td>
  22.                     <td>Cantidad</td>
  23.                     <td>Precio</td>
  24.                     <td>Subtotal</td>
  25.                 </tr>
  26.             </thead>
  27.             <tbody id="pedidos">
  28.                 <tr>
  29.                     <td><span class="titulo">Producto 1</span></td>
  30.                     <td><input type="text" name="cantidad[]" class="cantidad"/></td>
  31.                     <td><input type="text" name="precio[]" disabled value="5" class="precio"/>
  32.                     <td><input type="text" name="subtotal[]" disabled class="subtotal"/></td>
  33.                 </tr>
  34.                 <tr>
  35.                     <td><span class="titulo">Producto 2</span></td>
  36.                     <td><input type="text" name="cantidad[]" class="cantidad"/></td>
  37.                     <td><input type="text" name="precio[]" disabled value="3" class="precio"/>
  38.                     <td><input type="text" name="subtotal[]" disabled class="subtotal"/></td>
  39.                 </tr>
  40.                 <tr>
  41.                     <td><span class="titulo">Producto 3</span></td>
  42.                     <td><input type="text" name="cantidad[]" class="cantidad"/></td>
  43.                     <td><input type="text" name="precio[]" disabled value="6" class="precio"/>
  44.                     <td><input type="text" name="subtotal[]" disabled class="subtotal"/></td>
  45.                 </tr>
  46.             </tbody>
  47.         </table>
  48.  
  49.     </body>
  50. </html>

$('').val debería ser $(this).val para referirte al elemento que asignaste el evento

Lo primero muchas gracias por responder. Hacía el bucle porque despues tengo que calcular el total, ¿alguna idea?

Saludos y gracias de nuevo