2009-08-24 4 views
1

J'ai 2 zones de liste et un bouton pour ajouter des éléments de # list1 à # list2.jQuery pour ajouter un élément d'une liste à une autre et le retirer à la même position d'origine

J'ai aussi un bouton pour enlever l'article de # list2 et le rajouter à # list1. Mais, quand je supprime l'élément sélectionné, il va à la fin de la # liste1.

Y at-il un moyen de faire revenir cet élément retiré à sa position d'origine?

Merci!

+0

On dirait que vous double cette question soumis. Vous devriez en supprimer un. – ScottE

+0

Même s'il ne le fait pas, la communauté votera pour fermer l'un d'entre eux. Il y a déjà deux votes pour fermer celui-ci. – Powerlord

Répondre

1

Si vous avez de nombreux objets, retourner à la position d'origine sera difficile à moins que vous ne mémorisiez la position originale par rapport à tous les autres objets (puisque vous pourriez supprimer d'autres éléments de # list1).

Pour simplifier les choses, vous pouvez utiliser un bouton d'annulation qui a restauré l'élément le plus récemment déplacé à sa position d'origine, en rappelant les éléments précédents ou suivants de la liste.

magasin:

  1. $ (point) .PREV() et .next $ (point)() de l'élément le plus récemment déplacé, et
  2. l'élément supprimé comme removedItem.

Ensuite, selon que il y a une prev() ou après() défini pour l'élément d'origine, utilisez quelque chose comme:

$($(item).prev()).after(removedItem); 

pour restaurer l'élément le plus récemment déplacé à sa position initiale.

Questions connexes