2012-07-27 4 views
-1

여러 연결된 ul 목록에서 li 요소를 동적으로 제거하려고합니다. 지금 나는 #의 sortable1에서 $("#sortable1").children().on('dblclick',function() {...})부모/자식을 사용하여 목록 요소 제거

항목을 사용하여 'dblclick'이벤트 동작을 할당하고는 사용자가 다른 목록 (#의 sortable2, #의 sortable3 등)으로 이동합니다. 목록 항목을 두 번 클릭하면

이 대화 상자는 사용자가 삭제 할 것인지 묻는 나타납니다. . 사용자가 그래, 난이 목록 항목이에서 무엇이든 목록에서 제거 할 말한다면 내가 좋아하는 뭔가를 사용하여 그것을 할 노력하고 있어요 :

$($(this).parent().childNodes[$(this).index()]).remove() 

그러나 그것은 작동하지 않습니다.

조언?

+3

함수의 작업이 어떻게 이동/복사리스트 항목을 서로 연결하는 방법을 우리에게 보여? 클래스 이름,'data- *'속성? [JS Fiddle] (http://jsfiddle.net), [JS Bin] (http://jsbin.com/) 또는 유사한 사이트에서 볼 수있는 라이브 데모가 있습니까? –

+0

두 번 클릭 한 항목을 제거 하시겠습니까? 귀하의 핸들러 내부에서 $ (this) .remove()를 사용하지 않겠습니까? – Huangism

+0

나는 그가 팝업 토글을 클릭 한 후에 그것을 원한다고 생각한다. –

답변

0

이와 비슷한 기능이 작동합니다.

$(this).remove(); 

를하거나 변수 elem에 요소 참조를 저장 한 경우,이 일 것입니다 :

var showPopup = function(elem){ 
    //show your popup with a function like this, as i assume it already does...  
    $('#delete_toggle').one('click', function(){ 
    elem.remove(); 
    }); 
}; 

$("#sortable1").children().on('dblclick',function(){ 
    showPopup($(this)); 
}); 
0

에 클릭 된 요소를 제거하려면, 당신은 단지 이벤트 핸들러에서 이것을 사용 :

$(elem).remove(); 

당신이 필요로 할 때보 다 방법이 더 복잡하게 만들려고 노력하고 있습니다. jQuery .remove() 메서드는 현재 부모가 누구인지 살펴보고 모든 것을 처리합니다.