I have the following code that creates a table in jquery. The problem is that I wanted to create a subtotal that summed all the values in the total column. But I can not because the table is created dynamically. Any suggestions?
Follow the code:
function retorna_pedidos(valor)
{
let mensagem_pedidos = "Nenhum pedido encontrado";
let container_mostra_pedidos = $('.mostra_pedidos');
let quantidade = $('#qtd').val();
let quantidade_pedidos = "";
let valorTotal = "";
let itemHTMLp = "";
if (valor == null)
{
valor = 1;
}
$.ajax({
url: url_base + "pedidos?qtd=" + quantidade + "&page=" + valor,
type: 'GET',
dataType: 'json',
success: function (data)
{
var retorno = data.pedidos.data;
if (retorno == 0)
{
$('.classe-pedidos').css('display','none');
$('.pedido-error-registro').css('display','block');
$('.pedido-error-registro .mensagem-erro').html(mensagem_pedidos);
}
else
{
$.each(data, function(key,item) {
let registros = item.data.length;
let current_page = item.current_page;
let last_page = item.last_page;
let next_page_url = item.next_page_url;
let prev_page_url = item.prev_page_url;
let pedidos = item.data;
sessionStorage.setItem('pagina',current_page);
sessionStorage.setItem('last_page',last_page);
if (next_page_url == null)
{
if (current_page == 1)
{
$('.action-bar-pedido').html("<a id='btn-pagina-anterior-pedido' title='Pàgina Anterior' class='buttonPrevious btn btn-primary' style='display: none;'><< Página Anterior</a>");
}
else
{
$('.action-bar-pedido').html("<a id='btn-pagina-anterior-pedido' title='Pàgina Anterior' class='buttonPrevious btn btn-primary' style='display: block;'><< Página Anterior</a>");
}
}
else if (prev_page_url == null)
{
$('.action-bar-pedido').html("<a id='btn-proxima-pagina-pedido' title='Próxima Página' display='block' class='buttonNext btn btn-success'>Próxima Página >></a>");
}
else if (prev_page_url != null || next_page_url != null)
{
$('.action-bar-pedido').html("<a id='btn-proxima-pagina-pedido' title='Próxima Página' display='block' class='buttonNext btn btn-success'>Próxima Página >></a><a id='btn-pagina-anterior-pedido' title='Pàgina Anterior' class='buttonPrevious btn btn-primary' style='display: block;'><< Página Anterior</a>");
}
for (var i in pedidos) {
id_pedido = pedidos[i].pedidos_id;
nome_cliente = pedidos[i].nome_cliente;
nome_produto = pedidos[i].nome_produto;
data_atual = pedidos[i].data;
data_pedido = data_atual.split("-").reverse().join("/");
frete_atual = pedidos[i].frete;
preco_produto = pedidos[i].preco_produto;
quantidade_pedidos = pedidos.length;
// console.log(pedidos);
valorTotal = parseFloat(quantidade_pedidos) * parseFloat(preco_produto) + frete_atual;
itemHTMLp += "<tr>";
itemHTMLp += "<td><input type='checkbox' value='" + id_pedido + "' name='verifica_check_box[]' id='verifica_check_box' class='flat'/></td>";
itemHTMLp += "<td>" + nome_cliente + "</td>";
itemHTMLp += "<td>" + nome_produto + "</td>";
itemHTMLp += "<td>" + data_pedido + "</td>";
itemHTMLp += "<td class='frete-produto'>" + frete_atual + "</td>";
itemHTMLp += "<td class='preco-produto'>" + preco_produto + "</td>";
itemHTMLp += "<td class='valor-total'>" + valorTotal + "</td>";
itemHTMLp += "</tr>";
}
});
container_mostra_pedidos.html(itemHTMLp);
}
},
error: function (data)
{
console.log(data);
}
});