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

213
Vistas
¿Cómo podría administrar dos mismos select2, ocultar y mostrar el elemento seleccionado de otro select2?

De acuerdo con esta pregunta , pude agregar el elemento seleccionado a otra selección.

Considere que tenemos dos select2, con las mismas opciones. Cuando selecciono el elemento del cuadro 1, el mismo elemento debe eliminarse del cuadro 2 y el usuario no puede seleccionarlo. Lo proporciono en jsfiddle.net .

Ahora quiero deseleccionarlo, el box2 debería tener ese elemento nuevamente.

 <select multiple id="Box1" name="Box1" style='width:325px;float:left;border:1px solid #80C7E2;'> <option value="1">A</option> <option value="2">B</option> <option value="3">C</option> <option value="D">D</option> </select> <select multiple id="Box2" name="Box2" style='width:325px;float:left;border:1px solid #80C7E2;'> <option value="1">A</option> <option value="2">B</option> <option value="3">C</option> <option value="D">D</option> </select>

‌

 $("#Box1").select2(); $("#Box2").select2(); $("#Box1").on("change", function() { $.each($('#Box1').select2('data'), function(i, item) { $('#Box2 option[value="'+item.id+'"]').remove(); }); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Prueba esto, puede ayudar:

 $("#Box1").select2(); $("#Box2").select2(); $("#Box1").on("change", function(e) { $("#Box2").html(""); $('#Box1 option').each(function() { if($("#Box1").val()) { if($("#Box1").val().some(e=>{return e == $(this).val()})) { $('#Box2 option[value="'+$(this).val()+'"]').remove(); } else if(!$("#Box2 option").toArray().some(e=>{return e.value == $(this).val()})) { $("#Box2").append($('<option>', {value: $(this).val(), text: $(this).text()})); } } else { $("#Box2").html($("#Box1").html()); } }); });
 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.min.css" rel="stylesheet"/> <select multiple id="Box1" name="Box1" style='width:325px;float:left;border:1px solid #80C7E2;'> <option value="1">A</option> <option value="2">B</option> <option value="3">C</option> <option value="D">D</option> </select> <select multiple id="Box2" name="Box2" style='width:325px;float:left;border:1px solid #80C7E2;'> <option value="1">A</option> <option value="2">B</option> <option value="3">C</option> <option value="D">D</option> </select> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.min.js"></script>

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