Irei compartilhar um codigo que fiz com uma ajuda do ChatGpt
function adicionar() { // Obtém o valor selecionado no dropdown com id "produto" const produtoSelecionado = document.getElementById("produto").value;
// Converte o valor do input "quantidade" em número inteiro const quantidade = parseInt(document.getElementById("quantidade").value);
// Verifica se a quantidade é válida (maior que 0) if (!quantidade || quantidade <= 0) { alert("Insira uma quantidade."); // Exibe alerta se a quantidade for inválida return; // Encerra a função }
// Separa o nome e o preço do produto (espera-se que o valor seja no formato "Nome - R$Preço") const [nome, precoStr] = produtoSelecionado.split(" - R$");
// Converte o preço de string para número de ponto flutuante const preco = parseFloat(precoStr);
// Calcula o subtotal (preço * quantidade) const subtotal = preco * quantidade;
// Cria o HTML do item para ser exibido na lista de produtos do carrinho
const itemHTML = <section class="carrinho__produtos__produto"> <span class="texto-azul">${quantidade}x</span> ${nome} <span class="texto-azul">R$${subtotal}</span> </section>
;
// Adiciona o HTML do novo item à lista de produtos no carrinho document.getElementById("lista-produtos").innerHTML += itemHTML;
// Obtém o valor total atual, removendo o "R$" e convertendo para número const totalAtual = parseFloat(document.getElementById("valor-total").textContent.replace("R$", ""));
// Soma o subtotal ao total atual para obter o novo total const novoTotal = totalAtual + subtotal;
// Atualiza o valor total exibido no carrinho
document.getElementById("valor-total").textContent = R$${novoTotal}
;
}
function limpar() { // Limpa a lista de produtos do carrinho document.getElementById("lista-produtos").innerHTML = "";
// Reseta o valor total para R$0 document.getElementById("valor-total").textContent = "R$0"; }