Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Sumar y restar en una tabla

Estas en el tema de Sumar y restar en una tabla en el foro de Frameworks JS en Foros del Web. Hola Amigos!! tengo 2 tablas con informacion , lo que necesito hacer es que al seleccionar una fila de cualquiera de las dos tablas tome ...
  #1 (permalink)  
Antiguo 15/11/2011, 06:14
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Sumar y restar en una tabla

Hola Amigos!!
tengo 2 tablas con informacion , lo que necesito hacer es que al seleccionar una fila de cualquiera de las dos tablas tome el numero que tengo en la ultima celda y restarlo con la otra fila ya seleccionada de la otra tabla , el proceso de seleccion ya lo hice pero no se como hacerlo que sume y reste segun si la fila esta seleccionado
este es mi codigo
Código Javascript:
Ver original
  1. $('.aplicar tbody tr').live('click',function(){
  2.                         if ($(this).hasClass('seleccionar'))
  3.                         {
  4.                             $(this).removeClass('seleccionar');
  5.                             var id = $(this).find("td").eq(4).html();
  6.                             alert(id)
  7.                         }
  8.                         else
  9.                         {   if(!$(this).is('.desaplicar'))
  10.                      {
  11.                             $(this).addClass('seleccionar')
  12.                      var id = $(this).find("td").eq(4).html();
  13.                      
  14.                             alert(id)
  15.                      }
  16.                         }
  17.                     });
aca dejo el ejemplo http://www.sincroniavirtual.com/gestion/pago_prov1.php
en el input escriben "cacero" y enter
Muchas gracias por cualquier ayuda que me puedan brindar
  #2 (permalink)  
Antiguo 15/11/2011, 06:36
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Sumar y restar en una tabla

pasa que se puede seleccionar varias

no te conviene colocar abajo 2 campos uno para total crédito seleccionado y otra total débito seleccionado?
  #3 (permalink)  
Antiguo 15/11/2011, 06:41
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sumar y restar en una tabla

Hola Dany_s
editado = tambien se pueden seleccionar de a uno,
entonces cada vez que se selecciona una fila , voy creando una tabla aparte a medida que se veyan seleccionando hasta ahi entendi , pero despues como puedo hacer para restarlas unas con otras?
ejem si seleciiono una fila que tiene como valor 10 y selecciono otra fila que tiene como valor 15
como haria para para que la fila que tien 10 me quede en 0 y la fila que tiene como valor 15 me quede en 5
saludos y muchas Gracias!!!
  #4 (permalink)  
Antiguo 15/11/2011, 10:31
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sumar y restar en una tabla

hola amigos !!!
sigo sin poder resolverlo si alguien me puede dar una mano se lo voy a agradecer mucho
Saludos
  #5 (permalink)  
Antiguo 16/11/2011, 07:31
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Sumar y restar en una tabla

pero más allá de restar que no sería el problema, no entiendo el sistema para cancelar los débitos o los créditos je


Suponé que yo elija 3 fila de débito y luego 1 de crédito, restaria la suma de las 3 de débito a esa de crédito?

Luego Selecciono otra de crédito, ¿qué pasa?

y luego voy seleccionando y deseleccionando como el operador va a saber cuanl corresponde con cual?
  #6 (permalink)  
Antiguo 16/11/2011, 07:40
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sumar y restar en una tabla

Hola Dani_s
estoy desde ayer con esto jajaja
ya casi lo tengo ,me falta casi nada pero me trabe de nuevo
lo que yo necesito hacer es que al seleccionar un credito se vayan cancelando los debitos por ejemplo si selecciono 2 creditos uno de 15 y otro de 10 y despues selecciono un debito de 30
yo necesito que los dos creditos que seleccione queden en 0 y el debito en 5
este es el codigo por donde voy:
Código Javascript:
Ver original
  1. $('.debito').live('click',function(){
  2.                         if ($(this).hasClass('seleccionar'))
  3.                         {
  4.                             $(this).removeClass('seleccionar');
  5.                            /* var id = $(this).find("td").eq(4).html();
  6.                             id = id.replace(/,/g,'');
  7.                             alert(id)*/
  8.                         }
  9.                         else
  10.                         {  
  11.                             $(this).addClass('seleccionar')
  12.                             var id = $(this).find("td").eq(4).html();
  13.                             id = id.replace(/,/g,'');
  14.                             id = parseFloat(id);
  15.                             if($('#tabla2 tbody tr').hasClass('seleccionar'))
  16.                             {
  17.                                  
  18.                             $('.credito').each(function(){
  19.                                 if($(this).hasClass('seleccionar'))
  20.                                     {
  21.                                     var id2 = $(this).find("td").eq(4).html();id2 = id2.replace(/,/g,'');id2 = parseFloat(id2);
  22.                                     var resu = id2 - id;
  23.                                     $(this).find("td").eq(4).html(resu);
  24.                                     //alert(resu);
  25.                                     $('.debito,.credito').removeClass('seleccionar');
  26.                                    
  27.                                    
  28.                                     }
  29.                                    
  30.                        
  31.                            
  32.                             })
  33.                                 }
  34.                             else {
  35.                                     alert('necesita seleccionar primero una o varios creditos')
  36.                                     $(this).removeClass('seleccionar');
  37.                                 }
dejo el link de ejemplo
http://www.sincroniavirtual.com/gestion/pago_prov1.php
saludos y muchas gracias!!!
  #7 (permalink)  
Antiguo 16/11/2011, 13:58
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sumar y restar en una tabla

Edito el mensaje de arriba
Solamente me falta hacer una cosa
perimero pongo el codigo
Código Javascript:
Ver original
  1. $('.credito').live('click',function(){
  2.                      if($('.debito').hasClass('seleccionar'))
  3.                         {  
  4.                         $(this).addClass('seleccionar')
  5.                         var cre = $(this).find("td").eq(4).html();
  6.                         cre = cre.replace(/,/g,'');
  7.                         cre = parseFloat(cre);
  8.                        
  9.                         $('.debito').each(function(){
  10.                             if($(this).hasClass('seleccionar'))
  11.                                 {
  12.                                     var deb = $(this).find("td").eq(4).html();
  13.                                     deb = deb.replace(/,/g,'');
  14.                                     deb = parseFloat(deb);
  15.                                     var resultado = cre - deb;
  16.                                    
  17.                                     $('.credito.seleccionar').find("td").eq(4).html(cre-resultado);
  18.                                     $(this).find("td").eq(4).html(cre - deb);
  19.                                    
  20.                                     //alert(resu);
  21.                                     $('.debito,.credito').removeClass('seleccionar');
  22.                                 }
  23.                            
  24.                                      })
  25.                        
  26.                         }else{ alert('necesita seleccionar primero un debito o una factura') }
  27.                        
  28.                        
  29.            
  30.            
  31.          
  32.     });
lo que no puedo lograr es si la variable cre vale 20 y la variable deb vale 10 , yo necesito restarlo y mostrar que cre quedo en 10 y deb en 0
como podria hacer?
dejo el ejemplo
en el buscador pongan cacero
http://www.sincroniavirtual.com/gestion/pago_prov1.php
  #8 (permalink)  
Antiguo 17/11/2011, 08:11
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: Sumar y restar en una tabla

algo asi? no sé como es el tema contable si puede restar cualquier crédito con débito y que actualice sobrante para cancelar otro débito, etc je


Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html>
  3.     <head>
  4.         <title>Prueba</title>
  5.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
  6.         <script>
  7.  
  8.         $( function (){
  9.  
  10.             $('#credito tr').click( function(){
  11.                 if (typeof debito == 'undefined'){
  12.                     alert("Debe seleccionar débito.");
  13.                     return true;
  14.                 }
  15.  
  16.                 var celDebito  = debito.find('.saldo');
  17.                 var celCredito = $(this).find('.saldo');
  18.  
  19.                 var saldoDebito  = parseFloat(celDebito.text());
  20.                 var saldoCredito = parseFloat(celCredito.text());
  21.  
  22.                 creditoImporte = saldoCredito - saldoDebito;
  23.                 debitoImporte  = saldoDebito - saldoCredito;
  24.  
  25.                 celCredito.text( (creditoImporte > 0)?creditoImporte:0 );
  26.                 celDebito.text( (debitoImporte > 0)?debitoImporte:0 );
  27.  
  28.                 debito.removeClass('seleccionar');
  29.             });
  30.  
  31.             $('#debito tr').click( function(){
  32.                 if (typeof debito != 'undefined'){
  33.                     debito.removeClass('seleccionar');
  34.                 }
  35.                 debito = $(this).addClass('seleccionar');
  36.             });
  37.  
  38.         });
  39.  
  40.         </script>
  41.         <style>
  42.             .seleccionar {background:#B6D2F9}
  43.             table{background:#D1E2F9; margin:10px}
  44.         </style>
  45. </head>
  46. <body>
  47.  
  48.     Cr&eacute;dito
  49.     <table id="credito">
  50.         <tr><td class="saldo">100.50</td></tr>
  51.         <tr><td class="saldo">200</td></tr>
  52.         <tr><td class="saldo">300</td></tr>
  53.     </table>
  54.  
  55.     D&eacute;bito
  56.     <table id="debito">
  57.         <tr><td class="saldo">100</td></tr>
  58.         <tr><td class="saldo">200</td></tr>
  59.         <tr><td class="saldo">300</td></tr>
  60.     </table>
  61.  
  62. </body>
  63. </html>
  #9 (permalink)  
Antiguo 17/11/2011, 13:17
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sumar y restar en una tabla

buenisimo muchas gracias!!!(vos siempre me salvas jaja)
ahora lo pruebo
saludos!!!
  #10 (permalink)  
Antiguo 18/11/2011, 05:28
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sumar y restar en una tabla

hola Dani_s
estube probando el codigo que pusiste pero no logro dar con el resultado que necesito
yo creo que la la clave de lo que necesito esta en donde colocaste este trozo de codigo
Código Javascript:
Ver original
  1. celCredito.text( (creditoImporte > 0)?creditoImporte:0 );
  2.                 celDebito.text( (debitoImporte > 0)?debitoImporte:0 );
pero no logro adapatarlo a mi codigo
lo dejo completo para ver si me podes ayudar una vez mas
Código Javascript:
Ver original
  1. $('.credito').live('click',function(){
  2.                      if($('.debito').hasClass('seleccionar'))
  3.                         {  
  4.                         var cre = $(this).find("td").eq(5).html();
  5.                         cre = cre.replace(/,/g,'');
  6.                         cre = parseFloat(cre);
  7.                             if(cre > 0)
  8.                             {
  9.                             $(this).addClass('seleccionar')
  10.                             $('.debito').each(function(){
  11.                                 if($(this).hasClass('seleccionar'))
  12.                                     {
  13.                                         var deb = $(this).find("td").eq(5).html();
  14.                                         deb = deb.replace(/,/g,'');
  15.                                         deb = parseFloat(deb);
  16.                                         var resultado = cre - deb;
  17.                                        
  18.                                         $('.credito.seleccionar').find("td").eq(5).html(resultado);
  19.                                         $('.credito.seleccionar').find("input:first").val(resultado);
  20.                                         $(this).find("td").eq(5).html(resultado);
  21.                                         $(this).find("input:first").val(resultado);
  22.                                        
  23.                                        
  24.                                         //alert(resu);
  25.                                         $('.debito,.credito').removeClass('seleccionar');
  26.                                     }
  27.                                
  28.                                          })
  29.                             }else{ alert('el cre esta en 0');return true }
  30.                         }else{ alert('necesita seleccionar primero un debito o una factura');return true }
  31.                        
  32.                        
  33.            
  34.            
  35.          
  36.     });
  37.     //////////////////////////////////////////////
  38.     $('.debito').live('click',function(){
  39.         if ($('.debito').hasClass('seleccionar'))
  40.         {
  41.              $(this).removeClass('seleccionar');
  42.              $(this).removeClass('pasamouse');
  43.      
  44.         }
  45.         else
  46.         {   var id0 = $(this).find("td").eq(5).html(); 
  47.             id0 = id0.replace(/,/g,'');
  48.             id0 = parseFloat(id0);
  49.             if(id0 > 0)
  50.                         {
  51.                              $('.debito').removeClass('seleccionar');
  52.                              $(this).addClass('seleccionar')
  53.                         }else{ alert('esta en 0');return true }
  54.        
  55.         }
  56.     });
y tambien dejo el ejemplo que estoy realizando
http://www.sincroniavirtual.com/gestion/pago_prov1.php
en el buscador hay que poner cacero
saludos
  #11 (permalink)  
Antiguo 18/11/2011, 07:23
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sumar y restar en una tabla

listo!!!!
Código Javascript:
Ver original
  1. if(deb < cre)
  2.                                             {
  3.                                             var resultado1 = cre - deb;
  4.                                             //var resultado2 = cre - deb;
  5.                                            
  6.                                            
  7.                                            
  8.                                             $('.credito.seleccionar').find("td").eq(5).html((resultado1).formatMoney(2, '.', ','));
  9.                                         //  $('.credito.seleccionar').find("input:first").val(resultado1);
  10.                                             $(this).find("td").eq(5).html((deb-deb).formatMoney(2, '.', ','));
  11.                                             //$(this).find("input:first").val(deb-deb);
  12.                                             $('.debito,.credito').removeClass('seleccionar');
  13.                                             }
  14.                                             else{
  15.                                                
  16.                                                     var resultado2 = deb - cre;
  17.                                            
  18.                                            
  19.                                            
  20.                                                 $('.credito.seleccionar').find("td").eq(5).html((cre-cre).formatMoney(2, '.', ','));
  21.                                               //$('.credito.seleccionar').find("input:first").val(cre-cre);
  22.                                                 $(this).find("td").eq(5).html((resultado2).formatMoney(2, '.', ','));
  23.                                               //$(this).find("input:first").val(resultado2);*/
  24.                                                 $('.debito,.credito').removeClass('seleccionar');
  25.                                                 }
saludos

Etiquetas: html, php, restar, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.