Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Faça como eu fiz: comprando produtos

function adicionarProduto() {
//recuperar valores dos inputs= nomes, valores e quantidades
  let produto = document.getElementById('produto').value; /*recupera o valor do select */
  let nomeProduto = produto.split('-')[0]; /*a função do split é separar o nome do valor */
  let valorUnitario = produto.split('R$')[1]; /* separa o nome do valor */
  let quantidade = document.getElementById('quantidade').value;

  // calcula o preço total do produto
  let preco = quantidade * valorUnitario;

  //adicionar o produto no carrinho (tabela)

  let carrinho = document.getElementById('lista-produtos');
  carrinho.innerHTML = carrinho.innerHTML + `<section class="carrinho__produtos__produto">
          <span class="texto-azul">${quantidade}x</span>${nomeProduto}<span class="texto-azul">${preco}</span>
        </section>`;


//atualizar o valor total do carrinho
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

Oi, José Antônio! Como vai?

Do jeito que você explicou, gostei de como você estruturou a função adicionarProduto para recuperar os valores dos inputs e atualizar a lista de produtos no carrinho de forma dinâmica. Isso mostra um bom entendimento da manipulação do DOM e da lógica para calcular o preço total.

Uma dica interessante para o futuro é utilizar o método parseFloat para garantir que a multiplicação do valor do produto funcione corretamente, evitando problemas caso o valor venha como string:


let quantidade = parseInt(document.getElementById('quantidade').value);
let valorUnitario = parseFloat(produto.split('R$')[1]);
let preco = quantidade * valorUnitario;
console.log(preco);

Este código transforma os valores em números e calcula o preço total, garantindo resultados corretos mesmo se o valor do input vier como texto.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Obrigado