Je voudrais (via un opérateur de clavier) sélectionner plusieurs éléments dans une liste non ordonnée et les faire glisser vers un autre point dans la même liste avec jQuery Sortable.jQuery UI Sortable: Multi-item select
3
A
Répondre
2
- Sélectionnez les éléments à trier
- Créer une aide personnalisée
- Masquer les éléments sélectionnés jusqu'à ce tri est fait
- Redimensionner l'espace réservé selon la sélection
- détacher manuellement les éléments sélectionnés de la position actuelle et attachez-les à la nouvelle position après le tri
- Afficher les éléments masqués (undo étape 3) après l'étape 5
Voilà comment je l'ai fait (Modifier mon answer pour cette question):
$(function() {
$('ul').on('click', 'li', function() {
$(this).toggleClass('selected');
});
$("ul").sortable({
revert: true,
helper: function(e, item) {
if (!item.hasClass('selected')) item.addClass('selected');
var elements = $('.selected').not('.ui-sortable-placeholder').clone();
var helper = $('<ul/>');
item.siblings('.selected').addClass('hidden');
return helper.append(elements);
},
start: function(e, ui) {
var elements = ui.item.siblings('.selected.hidden').not('.ui-sortable-placeholder');
ui.item.data('items', elements);
var len = ui.helper.children().length;
var height = ui.item.height() + 5;
ui.helper.height((len * height))
ui.placeholder.height((len * height))
},
receive: function(e, ui) {
ui.item.before(ui.item.data('items'));
},
stop: function(e, ui) {
ui.item.siblings('.selected').removeClass('hidden');
$('.selected').removeClass('selected');
}
});
});
* {
margin: 0;
padding: 0;
}
#sortable {
width: 300px;
padding: 5px;
margin-right: 100px;
background: #eee;
border: 1px solid black;
}
ul li {
width: 250px;
margin: 5px;
padding: 5px;
font-size: 1.2em;
cursor: move;
background-color: white;
list-style-type: none;
}
.selected {
background: red !important;
}
.hidden {
display: none !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<ul id="sortable">
<li>Item #1</li>
<li>Item #2</li>
<li>Item #3</li>
<li>Item #4</li>
<li>Item #5</li>
</ul>
(sélectionner plusieurs éléments en cliquant sur chacun d'eux dans la démo)
+0
Cette approche est ok, mais quand je testais d ragging d'objets entre plusieurs zones triables J'ai eu des problèmes avec l'utilisation de la classe 'hidden', donc j'ai corrigé en utilisant la méthode' hide() 'à la place. Les utilisations réellement triables se cachent à la place de la classe 'hidden', il est donc préférable d'utiliser la même chose. – p1nox
Questions connexes
- 1. jQuery UI Sortable Position
- 2. Knockoutjs avec jQuery UI Sortable
- 3. jQuery UI problème d'événement sortable
- 4. jquery ui sortable - élément courant
- 5. JQuery UI Accordéon - Sortable Problèmes
- 6. jQuery UI .sortable() avec jQuery 1.2.x
- 7. jquery ui sortable - Comment désactiver sortable si elle est déclenchée?
- 8. jQuery UI problème Sortable sur IE6
- 9. Question sur Jquery UI Sortable, Option Handle
- 10. jQuery UI, draggable/sortable problème d'ajout
- 11. JQuery UI, La combinaison Sortable avec largable
- 12. Pourquoi jQuery UI Sortable ne fonctionne pas?
- 13. jQuery UI Sortable et Google gadgets
- 14. jQuery UI sortable: comment émuler l'événement 'beforeStart'?
- 15. jQuery UI Sortable - sérialiser plusieurs colonnes
- 16. jquery ui sortable ('refresh') ne fonctionne pas!
- 17. ui objet sortable
- 18. Sérialiser jquery sortable
- 19. Jquery sortable (« serialize »)
- 20. jQuery UI sortable ne supporte pas les divs flottants?
- 21. Comment puis-je tester JQuery UI Sortable avec du concombre
- 22. JQuery UI sortable: position de restauration basée sur une condition
- 23. JQuery UI Auto-Sortable Accordian - est-ce possible?
- 24. jQuery UI sortable: déterminer dans quel ordre les éléments sont
- 25. jQuery UI sortable - Enregistrement des modifications au serveur
- 26. Jquery UI Sortable - Obtient l'élément en cours de tri
- 27. jQuery UI Sortable - interdisant le transfert dans les éléments enfants
- 28. JQuery UI Sortable - Limiter la limite à certains éléments
- 29. JQuery Draggable et Sortable placeholder
- 30. jQuery Sortable .toArray avec ASP.NET MVC ActionResult
http://keithcirkel.co.uk/jwerty/ –