2009-08-24 7 views
1

Ich habe 2 Listenfelder und eine Schaltfläche zum Hinzufügen von Elementen von # list1 zu # list2.jQuery zum Hinzufügen von Elementen aus einer Listbox zu einer anderen und zum Entfernen an der gleichen ursprünglichen Position

Ich habe auch eine Schaltfläche, um ein Element aus # list2 zu entfernen und es erneut zu # list1 hinzuzufügen. Wenn ich jedoch das ausgewählte Element entferne, wird es an das Ende der # list1 gesetzt.

Gibt es eine Möglichkeit, dieses entfernte Element in seine ursprüngliche Position zurückzubringen?

Danke !!

+0

Sieht aus wie Sie doppelt auf diese Frage gestellt. Sie sollten einen löschen. – ScottE

+0

Auch wenn er das nicht tut, wird die Gemeinschaft dafür stimmen, einen von ihnen zu schließen. Es gibt bereits zwei Stimmen, um diese zu schließen. – Powerlord

Antwort

1

Wenn Sie viele Elemente haben, ist es schwierig, zur ursprünglichen Position zurückzukehren, es sei denn, Sie speichern die ursprüngliche Position relativ zu allen anderen Elementen (da Sie möglicherweise andere Elemente aus # list1 entfernen).

Um die Dinge einfach halten Sie stattdessen eine Undo-Taste zur Verfügung stellen könnten, die das zuletzt verschobene Element in seine ursprünglichen Position zurückzugeführt, indem entweder die vorherigen oder nächste Elemente in der Liste zu erinnern.

Store:

  1. $ (Artikel) .prev() und $ (Artikel) .next() des zuletzt bewegten Elements und
  2. das entfernte Element als removedItem.

dann je nachdem, ob ein i.Vj. es() oder nach() für das ursprüngliche Element definiert, wie etwas verwenden:

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

die zuletzt verschobene Element in seine ursprüngliche Position wiederherzustellen.

Verwandte Themen