Olá, apesar de ainda ter bastante dificuldade em implementar as ideias usando o código por estar aprendendo do zero, tive a ideia de uma o ${}
para chamar o ingresso sem ter que construir as 3 partes do código individualmente, assim como vi em outro exercício pra nomes em alerts. Com a ajuda da Luri consegui desenvolver um resultado bem menor.
Tenho uma dúvida: como diferenciar a hora de usar o .value e o .textContent apenas observando o HTML? Senti falta disso nas aulas iniciais. Sei que a ideia é ir aprendendo e fazendo, mas fica um pouco complicado algumas vezes. No mais, grato pela didática, está excelente.
function comprar() {
let ingressoEscolhido = document.getElementById('tipo-ingresso').value;
let quantidade = parseInt(document.getElementById('qtd').value);
let idQuantIngresso = `qtd-${ingressoEscolhido}`;
let quantidadeTipoIngresso = parseInt(document.getElementById(idQuantIngresso).textContent);
if (quantidade > quantidadeTipoIngresso) {
alert(`Quantidade indisponível para tipo ${ingressoEscolhido}`);
} else {
quantidadeTipoIngresso -= quantidade ;
document.getElementById(idQuantIngresso).textContent = quantidadeTipoIngresso.toString();
alert('Compra realizada com sucesso!');
quantidade = 0;
}}