2011-01-15 2 views
4

Ich habe zwei ungeordnete ListeKann nicht li Elemente von einer unorderted Liste an ein anderes

<ul id="#list1"> 
<li>one</li> 
<li>two</li> 
</ul> 

<ul id="#list2"></ul> 

und zwei Tasten

<input id="add" name="yt1" type="button" value="<<" /><br /> 
<input id="remove" name="yt2" type="button" value=">>" /> 

Wenn die Schaltfläche mit dem id bewegen alle Elemente gedrückt von # list1 sollte zu # list2 verschoben werden. Wie kann ich Elemente aus einer Liste in einer anderen JQuery mit bewegen

ich wie die unten obwohl von etwas, aber nicht sicher, wie die tatsächlichen zu tun

$("#add").click(function(){ 
$("#list1 li").each(function(){ 
//Do not know what to put in here 
} 
}) 

Antwort

10

bewegen können Sie appendTo verwenden :

$("#add").click(function(){ 
    $("#list1 li").appendTo('#list2'); 
}); 

DEMO

Ändern Sie auch Ihre IDs von <ul id="#list1"> zu <ul id="list1">.

+0

+1 - Ich hatte irgendwie in meinem Kopf, dass '.appendTo' die passenden Elemente nicht entfernt hat. – karim79

1
//this will move selected items from yt1-list to yt2-list  
    $("#yt1 option:selected").appendTo("#yt2"); 

    //this will move all selected items from yt1-list to yt2-list 
    $("#yt1 option").appendTo("#yt2"); 
1
 $('#list2').html($('#list1').html()); 
+1

Event-Handler, die an die Listenelemente gebunden sind, gehen verloren. –

+0

@Felix - Ich habe nicht darüber nachgedacht. Danke, dass du es aufgezeigt hast. – jmort253

0

Versuchen Sie dies. Habe es nicht getestet, aber es sollte (logisch) funktionieren.

$("#add").click(function(){ 
$("#list1 li").each(function(){ 
var holder; 
$(this) = holder; 
$(this).remove(); 
$('#list2').append(); 
} 
}); 
Verwandte Themen