Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

253
Visualizações
¿Mostrar el valor correcto del botón de opción que no funciona con la opción marcada por defecto?

Problema: el valor predeterminado del botón de opción marcado se muestra en la aplicación, pero si cambio el valor de la sugerencia, luego deselecciono y vuelvo a seleccionar una casilla de verificación, vuelve al valor original del botón de opción marcado en lugar de cambiar al nuevo valor de la sugerencia.

Básicamente, el valor predeterminado de mi botón de selección de radio está establecido en $5 . Si selecciono una opción de casilla de verificación, luego cambio el valor de la propina a $2 , luego deselecciono una casilla de verificación, luego vuelvo a seleccionar una casilla de verificación, mostrará el valor de la propina como $5 en lugar de la nueva opción $2

Aquí está mi codepen. Agregué instrucciones en el codepen para que puedas ver mi problema.

https://codepen.io/jaysomo10/pen/dydaKwZ

Aquí está mi JS

 window.menuItems = 0; window.tips = 0; const foodTotal = document.getElementById("price"); const tipTotal = document.getElementById("tip"); const orderTotal = document.getElementById("total"); let tipVal = document.querySelector(".tips:checked").value; tipTotal.textContent = "$" + (tipVal / 100).toFixed(2); document.addEventListener("click", ({ target }) => { if (target.className === "food" && target.checked && tipVal) { window.menuItems += parseInt(target.value); window.tips = tipVal; } else if (target.className === "food" && !target.checked) { window.menuItems -= parseInt(target.value); } else if (target.className === "tips" && target.checked) { window.tips = parseInt(target.value); } else { return; } foodTotal.textContent = `$${(window.menuItems / 100).toFixed(2)}`; tipTotal.textContent = `$${(window.tips / 100).toFixed(2)}`; orderTotal.textContent = `$${( (Number(window.menuItems) + Number(window.tips)) / 100 ).toFixed(2)}`; });

Parece que no puedo convertir la lógica para hacer que el valor de la propina cambie después de anular la selección y volver a seleccionar una opción de casilla de verificación.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

tipVal se define fuera del evento de clic. Así que siempre tiene el valor en el sart. Tienes que cambiarlo también dentro del evento.

 window.menuItems = 0; window.tips = 0; const foodTotal = document.getElementById("price"); const tipTotal = document.getElementById("tip"); const orderTotal = document.getElementById("total"); let tipVal = document.querySelector(".tips:checked").value; tipTotal.textContent = "$" + (tipVal / 100).toFixed(2); document.addEventListener("click", ({ target }) => { tipVal = document.querySelector(".tips:checked").value; if (target.className === "food" && target.checked && tipVal) { window.menuItems += parseInt(target.value); window.tips = tipVal; } else if (target.className === "food" && !target.checked) { window.menuItems -= parseInt(target.value); } else if (target.className === "tips" && target.checked) { window.tips = parseInt(target.value); } else { return; } foodTotal.textContent = `$${(window.menuItems / 100).toFixed(2)}`; tipTotal.textContent = `$${(window.tips / 100).toFixed(2)}`; orderTotal.textContent = `$${( (Number(window.menuItems) + Number(window.tips)) / 100 ).toFixed(2)}`; });
about 4 years ago · Juan Pablo Isaza Relatório

0

elimine esto de su primera declaración if

 if (target.className === "food" && target.checked && tipVal) { window.menuItems += parseInt(target.value); //window.tips = tipVal; // remove this }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda