Manter conteúdo <td> e acrescentar outros
Boa tarde a todos.
Eu estou aproveitando a quarentena pra estudar e em aprofundar mais em JQuery. Comecei então um protótipo de PDV pra por em prática o aprendizado.
Anexei uma imagem da tela. Basicamente é isso: o usuário digita um código e ao sair (blur), preenche o nome do produto e valor; quando o usuário clica em quantidade (keyup) faz o cálculo de valor unitário X qtde e exibe no campo total item. Quando o campo total item perde o foco (blur), os dados vão para o canto superior esquendo (conforme imagem) e ficam como linha daquela tabela.
Só que quando eu faço uma nova consulta, ele apaga o registro anterior. O que eu queria é que quando eu pesquisasse um novo produto e fizesse o cálculo, armazenasse o segundo produto na linha de baixo e não apagasse o anterior.
Esse trecho busca o valor e exibe nos campos - tudo ok aqui.
// Pega o valor digitado no campo código
// Passa como parametro para função buscaProduto
codigo.blur(function(){
if (codigo.val() != '') {
buscaProduto(codigo.val());
} else {
alert('Por favor, digite algum valor no campo código');
codigo.focus();
}
});
// Função responsável por buscar os dados do produto
function buscaProduto(codigo){
$.ajax({
url : "busca_produto.php",
type : 'post',
cache: false, // não mantém os dados em cache
dataType: 'json', // não é necessário passar quando é html
data : { cod : codigo },
success: function(msg){
produto.val(msg.NOME);
valor.val(msg.PRECO);
quantidade.focus();
}
})
}
Esse trecho adiciona a linha dos dados na tabela do canto superior esquerdo.
// Executa a função preencheDados quando o input #total_item perde o foco
total_item.blur(function(){
preencheDados(codigo.val(), produto.val(), quantidade.val(), valor.val(), total_item.val())
})
// Preeche os dados calculados na tela
function preencheDados(codigow, produtow, quantidadew, valorw, total_itemw){
th = '<th>1</th>';
th += '<th>'+codigow+'</th>';
th += '<th>'+produtow+'</th>';
th += '<th>'+quantidadew+'</th>';
th += '<th>'+valorw+'</th>';
th += '<th>'+total_itemw+'</th>';
destino.html(th);
descricao.val(produtow);
valor_down.val(valorw);
quantidade_down.val(quantidadew);
total_item_down.val(total_itemw);
sub_total.val('Calcular...');
codigo.val('').focus();
produto.val('');
quantidade.val('');
valor.val('');
total_item.val('');
}
Se alguém puder me dar uma dica de como adicionar essa segunda linha (th) eu agradeço muito.
Um abraço a todos.

Discussão (2)
Carregando comentários...