10
votes

jquery.sortable. changer la commande par JavaScript

Comment puis-je modifier l'ordre d'une liste une fois appliqué par JavaScript jquery.sortable code>.

Par exemple: p>

P>

x_sortable_list.changeOrder([
 {item:1, newOrder:2 },
 {item:2, newOrder:1 },
 {item:3, newOrder:3 }
]);


0 commentaires

3 Réponses :


1
votes

Le tri de la sorte fournit une interface utilisateur pour réorganiser les éléments. Pour les réorganiser de manière programmatique, vous devez toujours manipuler les éléments vous-même, manuellement ou avec un autre plugin.


0 commentaires

11
votes

Comme SparR a dit, il n'y a aucun moyen de les trier à l'aide de triable code> directement, mais vous pouvez toujours les déplacer manuellement avec quelque chose comme:

$("#mylist li:eq(1)").insertAfter($("#mylist li:eq(2)"));


0 commentaires

16
votes

Comme les autres l'ont mentionné, cela n'a rien à voir avec la fonctionnalité de tri (). Au lieu de cela, vous devez récupérer les éléments de la liste, déplacer leurs positions, puis effacer et réinsérer les éléments de la liste dans leur nouvelle commande:

// Get your list items
var items = $('#mylist').find('li');

// The new index order for each item
var order = [4, 2, 0, 1, 3];

// Map the existing items to their new positions        
var orderedItems = $.map(order, function(value) {
    return items.get(value);
});

// Clear the old list items and insert the newly ordered ones
$('#mylist').empty().html(orderedItems);


1 commentaires

Fonctionne comme un charme! :)