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

171
Vistas
¿Funciona JavaScript clasificable en los cambios de lista?

¿Cómo puedo hacer que se active una función cuando cambia una lista ordenable?

He buscado algunos ejemplos, pero están haciendo las listas diferentes a como soy y no veo cómo hacerlo con la forma en que se generan mis listas ordenables. ¿Quizás estoy usando una versión clasificable diferente o algo así?

Así es como hago mis listas...

 <script> Sortable.create(plansList, { animation: 100, group: 'list-1', draggable: '.recipe', handle: '.handle', sort: true, filter: '.sortable-disabled', chosenClass: 'active' }); Sortable.create(suggestionsList, { animation: 100, group: 'list-1', draggable: '.recipe', handle: '.handle', sort: true, filter: '.sortable-disabled', chosenClass: 'active' }); </script>

Como puedes ver tengo 2 listas. Quiero que ambos activen la misma función cuando cambien, pero si ambas listas cambian (porque un elemento se movió de una lista a la otra), no quiero que la función se active dos veces.

¿Alguien puede ayudar?

gracias, cris

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El evento onEnd solo se activará una vez, según lo solicitado. Pero se disparará si tampoco se ha realizado ningún cambio. Por lo tanto, es posible que deba comparar el índice antiguo con el índice nuevo.

 var example2Left = document.querySelector("#example2-left"); var example2Right = document.querySelector("#example2-right"); new Sortable(example2Left, { group: 'shared', // set both lists to same group animation: 150, onEnd: foo }); new Sortable(example2Right, { group: 'shared', animation: 150, onEnd: foo }); function foo(ev) { var to = ev.to; var from = ev.from; var oldIndex = ev.oldIndex; var newIndex = ev.newIndex; if (to != from || oldIndex != newIndex) { singleOnChange(ev) } } function singleOnChange(ev) { console.log("list(s) changed") }
 .col { width: 50%; float: left; } .list-group-item { padding: 10px; margin: 2px; background: blue; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.15.0/Sortable.min.js" integrity="sha512-Eezs+g9Lq4TCCq0wae01s9PuNWzHYoCMkE97e2qdkYthpI0pzC3UGB03lgEHn2XM85hDOUF6qgqqszs+iXU4UA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <div id="example2-left" class="list-group col"> <div class="list-group-item">Item 1</div> <div class="list-group-item">Item 2</div> <div class="list-group-item">Item 3</div> <div class="list-group-item">Item 4</div> <div class="list-group-item">Item 5</div> <div class="list-group-item">Item 6</div> </div> <div id="example2-right" class="list-group col"> <div class="list-group-item">Item 1</div> <div class="list-group-item">Item 2</div> <div class="list-group-item">Item 3</div> <div class="list-group-item">Item 4</div> <div class="list-group-item">Item 5</div> <div class="list-group-item">Item 6</div> </div>

about 4 years ago · Santiago Trujillo 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