Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

108
Vistas
Selecciones desplegables jQuery

Estoy haciendo un menú desplegable y quiero mostrar div class="residential-options" cuando se selecciona id="residencial" y mostrar div class="commercial-options" cuando se selecciona id="commercial".

aquí está mi HTML:

 <div class= "row"> <select id='building-type'> <option disabled selected value> -- select an option -- </option> <option id="residential" value="residential" [...]>Residential</option> <option id="commercial" value="commercial " [...]>Commercial</option> <option id="corporate" value="corporate" [...]>Corporate</option> <option id="hybrid" value="hybrid" [...]>Hybrid</option> </select> </div> <div class="residential-options"> <div id="number-of-apartments" > <label>N. of Apartments *</label> <input [...]> </div> <div id="number-of-basements" > <label>N. of Basements *</label> <input [...]> </div> </div> <div class="commercial-options"> <div id="number-of-floors" > <label>N. of Floors *</label> <input [...]> </div>

aquí está mi jQuery:

 $("#building-type").change(function() { ($('#residential').is(':checked')) $('.residential-options').show(); $('.commercial-options').hide(); $('.corporate-options').hide(); $('.hybrid-options').hide() }); $("#building-type").trigger("change"); $("#building-type").change(function() { ($('#commercial').is(':checked')) $('.commercial-options').show(); $('.residential-options').hide(); $('.corporate-options').hide(); $('.hybrid-options').hide() }); $("#building-type").trigger("change");

solo muestra div class="commercial-options" en lo que sea que haga clic. ¡Gracias por tu ayuda!

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Su código se puede simplificar enormemente, incluida la eliminación de las llamadas .trigger() .

 $("#building-type").change(function() { $('div[class*="options"]').hide(); // hide all '*-option' divs // Determine which option was selected and display the corresponding div: ['residential', 'commercial', 'corporate', 'hybrid'].forEach(function(base){ if ($('#' + base + ':checked').length) { $(`.${base}-options`).show(); } }) })
about 4 years ago · Juan Pablo Isaza Denunciar

0

puede cambiar su código a algo como esto: obtenga el valor seleccionado del tipo de edificio. compare el valor usando las declaraciones if, else if y dentro de las declaraciones if / else if muestran y ocultan el atributo de clase de uso de su div.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda