2011-01-15 3 views
4

두 개의 정렬되지 않은 목록하나의 순서가 지정되지 않은 목록에서 다른 요소로 li 요소를 이동할 수 없습니다.

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

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

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

id add 단추를 누르면 # list1의 모든 요소가 # list2로 이동해야합니다. JQuery를 사용하여 한 목록에서 다른 목록으로 요소를 이동하는 방법

아래 내용과 비슷하지만 실제로 이동하는 방법을 모르는 경우

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

답변

10

이동 실제 작업을 수행하는 방법을 잘하지 않는 방법 :

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

DEMO

또한 ID를 <ul id="#list1">에서 <ul id="list1">으로 변경하십시오.

+0

+1 - 어떻게 든 내 머리 속에 '.appendTo'가 일치하는 요소를 제거하지 않았다. – 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

목록 요소에 바인딩 된 모든 이벤트 처리기가 손실됩니다. –

+0

@Felix - 나는 그것에 대해 생각하지 않았습니다. 그것을 지적 주셔서 감사합니다. – jmort253

0

시도해보십시오. 테스트하지 않았지만 (논리적으로) 작동해야합니다.

$("#add").click(function(){ 
$("#list1 li").each(function(){ 
var holder; 
$(this) = holder; 
$(this).remove(); 
$('#list2').append(); 
} 
}); 
관련 문제