Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2013, 13:51
hernan2212
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Resta filas dinamicas

Buenas tardes, hace ya dos dias que me estoy volviendo loco con este asunto, probe de mil maneras y no lo puedo destrabar.
Por favor necesito una mano, o al menos una idea por donde empezar porque no logro encontrar la solucion.
Dentro de la funcion Eliminar quiero agregar la resta del importe de la fila que se elimino a un total.


Código PHP:
function eliminarFila($id_campo$cant_campos){
 
 
$respuesta = new xajaxResponse();
 
$respuesta->addRemove("rowDetalle_$id_campo"); //borro el detalle que indica el parametro id_campo
 
-- $cant_campos//Resto uno al numero de campos y si es cero borro todo
 
if($cant_campos == 0){
  
$respuesta->addRemove("rowDetalle_0");
  
$respuesta->addAssign("num_campos""value""0"); //dejo en cero la cantidad de campos para seguir agregando si asi lo desea el usuario
  
$respuesta->addAssign("cant_campos""value""0");
 }
    
$respuesta->addAssign("cant_campos""value"$cant_campos);
 return 
$respuesta;

en la funcion agregarFila pude hacer la suma del importe agregado al total de esta manera:

Código PHP:
<?
function agregarFila($formulario){
    
$respuesta = new xajaxResponse();
 
extract($formulario);
 
$id_campos $cant_campos $num_campos+1;
    
$str_html_td1 $cod .'<input type="hidden" id="cod' $id_campos '" name="cod' $id_campos '" value="' $cod '"/>' ;
    
$str_html_td2 $descripcion.'<input type="hidden" id="descripcion' $id_campos '" name="descripcion' $id_campos '" value="' $descripcion '"/>' ;
    
$str_html_td3 $cantidad .'<input type="hidden" id="cantidad' $id_campos '" name="cantidad' $id_campos '" value="' $cantidad '"/>' ;
    
$str_html_td4 $precioconiva .'<input type="hidden" id="precioconiva' $id_campos '" name="precioconiva' $id_campos '" value="' $precioconiva '"/>' ;
    
    
$str_html_td5 $importe.'<input type="hidden" id="importe' $id_campos '" name="importe' $id_campos '" value="' $importe '"/>' ;
    
$str_html_td6 '<img src="imagenes/delete.png" width="16" height="16" alt="Eliminar" onclick="if(confirm(\'Realmente desea eliminar este detalle?\')){xajax_eliminarFila('$id_campos .', proyecto.cant_campos.value);}"/>';
 
 if(
$num_campos == 0){ // creamos un encabezado de lo contrario solo agragamos la fila
  
$respuesta->addCreate("tbDetalle""tr""rowDetalle_0");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_01");    //creamos los campos
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_02");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_03");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_04");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_05");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_06");
        
        
$respuesta->addAssign("tdDetalle_01""innerHTML""Codigo");   //asignamos el contenido
        
$respuesta->addAssign("tdDetalle_02""innerHTML""Descripcion");
        
$respuesta->addAssign("tdDetalle_03""innerHTML""Cantidad");
        
$respuesta->addAssign("tdDetalle_04""innerHTML""P. Unit");
        
$respuesta->addAssign("tdDetalle_05""innerHTML""Importe");
        
$respuesta->addAssign("tdDetalle_06""innerHTML""Eliminar");
         }
    
$idRow "rowDetalle_$id_campos";
    
$idTd "tdDetalle_$id_campos";
 
$respuesta->addCreate("tbDetalle""tr"$idRow);
    
$respuesta->addCreate($idRow"td"$idTd."1");     //creamos los campos
    
$respuesta->addCreate($idRow"td"$idTd."2");
    
$respuesta->addCreate($idRow"td"$idTd."3");
    
$respuesta->addCreate($idRow"td"$idTd."4");
    
$respuesta->addCreate($idRow"td"$idTd."5");
    
$respuesta->addCreate($idRow"td"$idTd."6");
/*
 *     Esta parte podria estar dentro de algun ciclo iterativo  */
 
    
$respuesta->addAssign($idTd."1""innerHTML"$str_html_td1);   //asignamos el contenido
    
$respuesta->addAssign($idTd."2""innerHTML"$str_html_td2);
    
$respuesta->addAssign($idTd."3""innerHTML"$str_html_td3);
    
$respuesta->addAssign($idTd."4""innerHTML"$str_html_td4);
    
$respuesta->addAssign($idTd."5""innerHTML"$str_html_td5);
    
$respuesta->addAssign($idTd."6""innerHTML"$str_html_td6);

 
/*  aumentamos el contador de campos  */


 
$respuesta->addAssign("num_campos","value"$id_campos);
 
$respuesta->addAssign("cant_campos" ,"value"$id_campos);

 
$total += $importe

 return 
$respuesta;

}
Pero si a la funcion Eliminar, le agrego: $total -= $importe;
Me descuenta el ultimo importe y no el de la fila eliminada (en el caso que no sea la ultima porsupuesto)

Desde ya gracias por cualquier ayuda
Saludos!