Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/09/2010, 18:34
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: Solo modifique pero falta algo

pero con jquery? ahi veo que el primero es con jquery y el segundo con javascript puro

con jquery es bastante sencillo, claro, mínimo una lectura a la documentación (yo no sé inglés pero viendo los ejemplos se nota que hace)

buscá en la doc que hace cada método, lo que usé se ocupa todos los días

es simple pero con más campos es lo mismo, click en borrar sube hasta el div padre con class 'linea' y borra ese div, click en agregar agrega al div #contenedor la cadena que contiene html en la variable linea
por eso si agregas inputs va a ser lo mismo

para sumar tengo la funcion que selecciono los campos cantidad, sumo y muestro el valor en el input total, esa funcion la meto en el evento cuando se borra un campo para que me vuelva a calcular

Código HTML:
Ver original
  1.   <head>
  2.     <title></title>
  3.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4.     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  5.     <script>
  6.     $( function (){
  7.         var limite = 5;
  8.         var linea = '<div class="linea">Precio: <input type="text" class="cantidad" name="cantidad" /><a href="#" class="borra">Eliminar</a></div>';
  9.  
  10.         $('#agrega').live('click', function (){
  11.             if ( $('#contenedor .linea').length < limite)
  12.                $('#contenedor').append(linea);
  13.        });
  14.        
  15.        $('#contenedor .borra').live('click', function(){
  16.            $(this).closest('.linea').remove();
  17.            calcularTotal();
  18.        });
  19.  
  20.        $('#contenedor input.cantidad').live('keyup', function(){
  21.            calcularTotal();
  22.        });
  23.    });
  24.  
  25.    function calcularTotal(){
  26.        var total = parseInt(0);
  27.        $('#contenedor input.cantidad[value!=""]').each( function (){
  28.            total += parseInt( $(this).val() );
  29.        });
  30.        $('#total').val(total);
  31.    }
  32.    </script>
  33.   </head>
  34.   <style>
  35.       #contenedor{margin-bottom:10px;}
  36.       #contenedor .linea{margin-bottom:5px; background:#ccc; width:250px; padding:3px}
  37.   </style>
  38.     <div id="contenedor"></div>
  39.     <a href="#" id="agrega">Agregar</a><br />
  40.     Total: <input type="text" name="total" id="total" />
  41. </body>
  42. </html>