Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Comercial
    • Calculadora

0

77
Vistas
Switch statement only returns the default case

Can someone help me understand, why is my switch case returning the default value. Even when I change all values it only returns the default at first I thought it was a hoisting issue in my code but after debugging it's I found it's the statement, it ignores all other cases. (p.s please don't be mean I just want to understand, the other examples I've seen aren't simply explained and don't have much up votes so I did try.)

var shippingMethod = document.querySelector("[name=r_method]:checked").value;
var shippingChoice;


switch(shippingMethod) {
    case "usps":
        shippingChoice = 2;
        break;
    case "ups":
        shippingChoice = 3;
        break;
    default:
        shippingChoice = 0;
        break;
}
console.log(shippingChoice);

10 months ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

I would suggest adding an if statement to verify there is a value for shippingMethod. As well, when querying for the value, make sure to include quote ("") around the value of the name.

var shippingMethod = "default";
var shippingChoice;

if (document.querySelector('[name="r_method"]:checked') != null)
{
  shippingMethod = document.querySelector('[name="r_method"]:checked').value;
}

switch(shippingMethod) {
    case "usps":
        shippingChoice = 2;
        break;
    case "ups":
        shippingChoice = 3;
        break;
    default:
        shippingChoice = 0;
        break;
}
console.log(shippingChoice);

10 months ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos