Comunidad de diseño web y desarrollo en internet online

suma de datos dinamicos

Citar            
MensajeEscrito el 13 Jun 2013 01:54 pm
hola

estoy haciendo un sistema de agregar artículos para poder facturarlos, una especie de cesta. Esto en php.

la idea es la siguiente:

creo filas dinamicamente de una tabla donde están el nombre del articulo, descripción, cantidad, valor, etc... pero el problema que tengo tengo la posibilidad de cambiar el numero de cantidad y quisiera que al hacer esto el total se reflejaría en tiempo real ( total = cantidad * valor ), pero como hago input text dinamicos dentro de una tabla dinámica también, no se que referencia tomar para poder hacer la operación por medio de jquery.

osea, cuando le asigno un id a un input text pues con esto puedo hacer muchas cosas, pero cuando creo el input dinamico que referencia le pongo a ese id para poder hace roperacion como lo explique anteriormente.

espero que me haya explicado.

anexo la url de un ejemplo de lo que quiero hacer.

http://launidad.co/ejemplo.JPG

Gracias por la ayuda

Por kakashi20

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jun 2013 04:15 pm
Primero que nada, debes tener muy claro cómo navegar el DOM y especialmente cómo hacerlo con la página que estás haciendo.

Me tomé la libertad de hacer un ejemplo o prueba de concepto de lo que quieres lograr, puedes usarlo como base para tu desarrollo. Debo advertirte que a esta prueba le faltan muchas cosas (como validar los datos de entrada, etc...)

http://fivemedia.com.ar/dexter/test221.php

Mira el código fuente, está todo ahí. Lo he hecho sin usar JQuery,

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 Jun 2013 08:13 pm
excelente.. ya había usado el dom pero algo ligero como para ocultar div creados dinamicamente, pero esto que hiciste me sirve mucho.

muchas gracias por la ayuda

Por kakashi20

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jun 2013 08:50 pm
Tu ejemplo, DriverOp me dio pie para hacer esto:

Código Javascript :

function Calcular(ele) {

   var cantidad = 0, precunit = 0, totalitem = 0;
   var tr = ele.parentNode.parentNode;
   
   $(tr).each(function() {
    var calculo = $(this).find("td:eq(2) > input").val() * $(this).find("td:eq(5) > input").val(); 
   
   $(this).find("td:eq(6) > input").val(calculo)
   
    
   });
   



Código HTML :


<table id="TableFactura" border='1' align="center" width='90%'>
                        
                        <tr>
                            <td width='12%'>Item:</td>
                            <td width='12%'>Referencia:</td>
                            <td width='12%'>Precio:</td>
                            <td width='12%'>Impuesto:</td>
                            <td width='12%'>Descripci&oacute;n:</td>
                            <td width='12%'>Cantidad:</td>
                            <td width='12%'>Total:</td>
                            <td width="12%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
                            
                        </tr>
                        
                        <tr class="item2">
                            <td><input type='text' name='item[]' id='item' size='20' /></td>
                            <td><input type='text' name='ref[]' id='ref' size='20' /></td>
                            <td><input type='text' name='precio[]' onkeyup="Calcular(this)" id='precio' size='10' /></td>
                            <td><input type='text' name='impuesto[]' id='impuesto' size='20' /></td>
                            <td><textarea name='desc[]' id='desc'></textarea></td>
                            <td><input type='text' name='cant[]' id='cant' size='10' /></td>
                            <td align="center"><input type='text' name='total[]' id='total' size='10' /></td>
                            <td></td>
                        </tr>
                        
                        
                        
                        
                       
                        
                    </table>
                    
                    
                    <table id="TableFactura" border='1' align="center" width='90%'>
                        
                        <tr>
                            <td width='12%'>Item:</td>
                            <td width='12%'>Referencia:</td>
                            <td width='12%'>Precio:</td>
                            <td width='12%'>Impuesto:</td>
                            <td width='12%'>Descripci&oacute;n:</td>
                            <td width='12%'>Cantidad:</td>
                            <td width='12%'>Total:</td>
                            <td width="12%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
                            
                        </tr>
                        
                        <tr class="item2">
                            <td><input type='text' name='item[]' id='item' size='20' /></td>
                            <td><input type='text' name='ref[]' id='ref' size='20' /></td>
                            <td><input type='text' name='precio[]' onkeyup="Calcular(this)" id='precio' size='10' /></td>
                            <td><input type='text' name='impuesto[]' id='impuesto' size='20' /></td>
                            <td><textarea name='desc[]' id='desc'></textarea></td>
                            <td><input type='text' name='cant[]' id='cant' size='10' /></td>
                            <td align="center"><input type='text' name='total[]' id='total' size='10' /></td>
                            <td></td>
                        </tr>
                        
                        
                        
                        
                       
                        
                    </table>



y funciona super bien, muchas gracias DriverOp

Por kakashi20

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Jun 2013 12:10 pm
Pues de nada :).

Sí, con JQuery es más fácil. Con JQuery todo es más fácil...

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.