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

189
Vistas
Mostrar Ocultar elemento de entrada en Reapetidor según la selección

Quiero crear un elemento de entrada para mostrar usando jquery después del menú desplegable seleccionado y mostrar el elemento de entrada en el repetidor, pero el problema es que solo muestro el elemento de entrada en un elemento de entrada. Gracias por su ayuda.

Este es un repetidor de formulario de código html

 <tbody> @foreach($siswas as $key => $nilai) <tr> <td><input type="text" class="form-control" id="nilai_sikap" name="nilai_sikap[]"></td> </tr> @endforeach </tbody>

Este es un script para mostrar y ocultar el elemento de entrada en id="nilai_sikap"

 $('#mapel_id').on('change', function() { if ( this.value == 17 || this.value == 18) $("#nilai_sikap")[$i].show(); else $("#nilai_sikap").hide(); }).trigger("change")

De esto solo obtengo un elemento de entrada como este ingrese la descripción de la imagen aquí

pero quiero mostrar el elemento de entrada en cada fila como esta ingrese la descripción de la imagen aquí

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

0

Hay varios problemas con este código que puedo ver. Primero, está creando múltiples identificaciones duplicadas con foreach. esta es una mala práctica, pero no descifrar el código en sí mismo. Pero le sugiero que elimine el atributo id por completo. Además, ¿de dónde viene el $i?

En segundo lugar, donde te equivocas es el selector. Estás seleccionando los artículos por su id. Para seleccionar un elemento por el atributo de nombre, debe seleccionarlo así.

 $('input[name="nilai_sikap[]"]')

En resumen, su código debe ser:

 $('#mapel_id').on('change', function() { if ( this.value == 17 || this.value == 18) $('input[name="nilai_sikap[]"]').show(); else $('input[name="nilai_sikap[]"]').hide(); }).trigger("change")
about 4 years ago · Juan Pablo Isaza Denunciar

0

Prueba esta solución

 <tbody> @foreach($siswas as $key => $nilai) <tr> <td><input type="text" class="form-control _my_input" name="nilai_sikap[]"></td> </tr> @endforeach </tbody>

Cambie el código js como se muestra a continuación

 $('#mapel_id').on('change', function() { if ($(this).val() == 17 || $(this).val() == 18){ $(document).find('._my_input').show(); } else { $(document).find('._my_input').hide(); } })
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