none
append table RRS feed

  • Pregunta

  • Hola gente como estan ? necesito de su ayuda, tengo esta tabla 

    <tr>           
             <td> 
                   <div id="divTabla">
                         <table id="tblPar" border="1">                         
                             <tbody>
                                <tr>
                                 <th></th>
                                 <th>Programa</th>
                                 <th>Partida</th>
                                 <th>Importe</th>
                                 <th>Observaciones</th>                           
                               </tr>                        
                             </tbody>
                         </table>
                     </div>                              
                 </td>            
            </tr>           

    esto tiene un boton agregar

     $("#btnAgregar").bind("click", function () {
    
                if (IdObjetoGasto.id_objeto_gasto != IdObjetoGastoGrid.id_objeto_gasto) {
                   
                    index += 1;
                    importe = parseFloat($("#txtImporte").val());
                    $('#tblPar tbody').append('<tr><td style="color:blue">' + index + '</td><td style="color:blue">' + $("#<%=lblProgramaSeleccionado.ClientID%>").text() + '</td><td style="color:blue">' + $("#<%=lblOGSeleccionado.ClientID%>").text() + '</td><td style="color:blue">' + $("#txtImporte").val() + '</td><td style="color:blue">' + $("#txtObservaciones").val() + '</td><td><input type="button" id="delbutton" value="Borrar" onclick="deleteRow(this)"/></td></tr>');                        
                                    
                }
               
                $("#txtImporte").val("");
                $("#txtObservaciones").val("");
    
                IdObjetoGastoGrid = IdObjetoGasto;
    
            });         

    a la vez estoy usando esta función que actualiza el importe (que esta dentro de la tabla ) a medida que va escribiendo en el textbox, esta es la funcion ....

    $("#txtImporte").on("keyup", function () {
    
                if (IdObjetoGasto.id_objeto_gasto == IdObjetoGastoGrid.id_objeto_gasto) {
    
                    if ($("#txtImporte").val() != "") {
    
                        importeNuevo = importe + parseFloat($("#txtImporte").val());
                                                    
                        $('#tblPar tbody').html('<tr><td style="color:blue">' + i + '</td><td style="color:blue">' + $("#<%=lblProgramaSeleccionado.ClientID%>").text() + '</td><td style="color:blue">' + $("#<%=lblOGSeleccionado.ClientID%>").text() + '</td><td style="color:blue">' + importeNuevo + '</td><td style="color:blue">' + $("#txtObservaciones").val() + '</td><td><input type="button" id="delbutton" value="Borrar" onclick="deleteRow(this)"/></td></tr>');                       
                       
                    }
                    else {
                        $('#tblPar tbody').html('<tr><td style="color:blue">' + index + '</td><td style="color:blue">' + $("#<%=lblProgramaSeleccionado.ClientID%>").text() + '</td><td style="color:blue">' + $("#<%=lblOGSeleccionado.ClientID%>").text() + '</td><td style="color:blue">' + importe + '</td><td style="color:blue">' + $("#txtObservaciones").val() + '</td><td><input type="button" id="delbutton" value="Borrar" onclick="deleteRow(this)"/></td></tr>');
                    }
                }
            });

    el problema que tengo es que quiero que me mantenga todos los registros anteriores que esta en la tabla, porque al modificar el importe, si tengo 5 row me deja el ultimo y el resto los borra de la tabla (1,2,3,4), necesita que me los mantenga a los anteriores porque siempre se va a modificar sobre el ultimo row

    gracias a todos

    miércoles, 14 de octubre de 2015 15:57

Respuestas

  • hola

    pero al escribir en el textbox de importe no deberias pisar los datos del html del body de la tabla

    sino que deberias crear un selector que acceda directo a la celda de la tabla y ubique el valor

    puedes ver si algo como esto

    [ASP.NET] - GridView sumar columnas con jquery

    si bien alli usa un gridview la tecnica e sla misma porque este control renderiza como tabla de html

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta efinten miércoles, 14 de octubre de 2015 20:07
    miércoles, 14 de octubre de 2015 16:26

Todas las respuestas

  • hola

    pero al escribir en el textbox de importe no deberias pisar los datos del html del body de la tabla

    sino que deberias crear un selector que acceda directo a la celda de la tabla y ubique el valor

    puedes ver si algo como esto

    [ASP.NET] - GridView sumar columnas con jquery

    si bien alli usa un gridview la tecnica e sla misma porque este control renderiza como tabla de html

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta efinten miércoles, 14 de octubre de 2015 20:07
    miércoles, 14 de octubre de 2015 16:26
  • listo leandro, lo hice de la sig. manera 

     importeNuevo = importe + parseFloat($("#txtImporte").val());
    $('#tblPar tbody tr:last td:eq(3)').html(importeNuevo);

    gracias

    miércoles, 14 de octubre de 2015 20:08