JQuery - Ayuda como sumar campos que estan dentro de una tabla dinamica

 
Vista:
Imágen de perfil de Andres

Ayuda como sumar campos que estan dentro de una tabla dinamica

Publicado por Andres (2 intervenciones) el 13/10/2015 16:59:11
Ayuda comunidad tengo una tabla que ve generando campos sucesivamente como loo agrege el ususario pero necesito sumar las columnas para sacar un total pero no puedo obtener los datos de los campos
estos son mis campo generados. esto lo utilizo para guardar los datos en mi base de datos la cual si funcionam bien pero necesito ahora sumar las columnas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var cod_cuenta = $("#cod_cuenta").val();
        var nom_cuenta = $("#nom_cuenta").val();
        var valor = $("#valor").val();
        var asiento_num = $("#asiento_num").val();
        var fech = $("#fech").val();
        var cod_grupo = $("#nom_grupo").val();
        var idlog = $("#idlog").val();
        var balances_realizados = $("#balances_realizados").val();
        var tablaDatos = $("#tblDatos");
        var gene_dh = "0.00";
        //alert("2");
        if (cod_cuenta != "" || nom_cuenta != "" || valor != "" || fech != "" || cod_grupo != "") {
            tablaDatos.append("<tr>\n\
<td style='display:none'> <input type='text'   readonly='readonly' name='campo1[]' class='compa2' value=' " + asiento_num + "'/></td>\n\
<td> <input type='text' readonly='readonly' name='campo2[]' class='compa3' value='" + cod_cuenta + "'/></td>\n\
<td> <input type='text' readonly='readonly' name='campo3[]' value='" + nom_cuenta + "'/></td>\n\
<td> <input type='text' readonly='readonly' name='campo4[]' class='compa2' value='" + fech + "'/></td>\n\
<td> <input type='text' readonly='readonly' name='campo5[]' id='valor' class='compa2' value='" + gene_dh + "'/></td>\n\
<td> <input type='text' readonly='readonly' class='compa3' name='campo6[]' value='" + valor + "'/></td>\n\
<td style='display:none'> <input type='text'  readonly='readonly' class='compa3' name='campo7[]' value='" + balances_realizados + "'/></td>\n\
<td style='display:none'> <input type='text'  readonly='readonly' class='compa3' name='campo8[]' value='" + cod_grupo + "'/></td>\n\
<td style='display:none'> <input type='text'  readonly='readonly' class='compa3' name='campo9[]' value='" + idlog + "'/></td><td><input type='button' value='Delete' onclick='deleteRow(this)'/></td>\n\
</tr>");
            reset_campos();
        }

esto se me carga en una tabla asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0" class="tablaDatos" id="tblDatos">
	<thead>
		<tr>
			<td style="display:none">Asiento</td>
			<td>Cod_Cuenta</td>
			<td>Cuenta</td>
			<td>Fecha</td>
			<td>Debe</td>
			<td>Haber</td>
			<td style="display:none">bl</td>
			<td style="display:none">Grupo</td>
			<td style="display:none">log</td> <!-- style="display:none"-->
			<td>    </td> <!-- style="display:none"-->
		</tr>
	</thead>
	<tbody>
		<tr>
 
		</tr>
	</tbody>
	<tfoot>
		<tr>
			<td></td>
			<td></td>
			<td></td>
			<td><input type="text"  readonly="readonly" class="compa3" name="camposumadebe" id="camposumadebe" value=""/> </td>
			<td><input type="text"  readonly="readonly" class="compa3" name="camposumahaber" value=""/> </td>
		</tr>
	</tfoot>
</table>

y el boton es este
1
<input name="Add" id="Add" class="btn" type="button" value="Insertar" onclick="addasiento();" />

esta es la funcion que estoy utilizando pero nada , no me da resultados. le paso los parametros
SumarColumnaAsientos("#tblDatos",3); y nada

1
2
3
4
5
6
7
8
9
10
11
function SumarColumnaAsientos(grilla, columna) {
    var resultVal = 0.0;//    alert("hola mundo")
    $("#" + grilla + " tbody tr").not(':first').not(':last #valor').each(
            function () {
                var celdaValor = $(this).find('td:eq(' + columna + ')');
                if (celdaValor.val() != null)
                    resultVal += parseFloat(celdaValor.html().replace(',', '.'));
            }
    )
    $("#camposumadebe tfoot tr:last td:eq(" + columna + ")").html(resultVal.toFixed(2).toString().replace('.', ','));
}



Si alguien sabe algo al respecto, creo haber dado suficiente informacion oviamente esta dentro de un formulario todo ese codigo pero no lo puedo subir porque es muy extenso, si alguien sabe como puedo realizar esa Suma de la columna le agradeceria mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 302
Oro
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Ayuda como sumar campos que estan dentro de una tabla dinamica

Publicado por xve (673 intervenciones) el 13/10/2015 20:10:50
Hola Andres, puede ser que tu problema sea que cuando cargas el formulario, la funcion de jquery ya esta cargada?

Recuerda que cuando se cargan las funciones de jquery, se cargan con el contenido actual de la pagina, si varia, no lo detecta... tienes que redeclarar las funciones nuevamente.

Es este tu problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andrtes

Ayuda como sumar campos que estan dentro de una tabla dinamica

Publicado por Andrtes (2 intervenciones) el 14/10/2015 02:07:57
No amigo la funcion no esta cargada al momento de ejecutar el formulario a la funcion SumarColumnaAsiento() la llamo con un boton y le paso unos parametro

este es mi boton

1
<input name="Add" id="Add" class="btn" type="button" value="Insertar" onclick="CalcularPromedio('tblDatos',3)" />

esta es la funcion
1
2
3
4
5
6
7
8
9
10
11
function SumarColumnaAsientos(grilla, columna) {
    var resultVal = 0.0;//    alert("hola mundo")
    $("#" + grilla + " tbody tr").not(':first').not(':last').each(
            function () {
                var celdaValor = $(this).find('td:eq(' + columna + ')');
                if (celdaValor.val() != null)
                    resultVal += parseFloat(celdaValor.html().replace(',', '.'));
            }
    )
    $("#camposumadebe tfoot tr:last td:eq(" + columna + ")").html(resultVal.toFixed(2).toString().replace('.', ','));
}

Puedes ayudarme a ver en donde esta el problema porque no logro obneter los datos de los diferentes campos y tampoco poner la respuesta en un campo
Exactamente en estos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<tfoot>
 
		<tr>
 
			<td></td>
 
			<td></td>
 
			<td></td>
 
			<td><input type="text"  readonly="readonly" class="compa3" name="camposumadebe" id="camposumadebe" value=""/> </td>
 
			<td><input type="text"  readonly="readonly" class="compa3" name="camposumahaber" value=""/> </td>
 
		</tr>
 
	</tfoot>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar