Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/12/2010, 06:33
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: Pequeña hoja de pedidos

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

Última edición por Dany_s; 02/12/2010 a las 06:39