2013-01-11 3 views
0

메인 div '컨테이너'에 포함 된 내 문서에 두 개의 입력 버튼이 있습니다.새로 고침 DOM Jquery

내가 그들을 위해 사용한 코드는 다음과 같습니다 이제

<input id="anotherservices" type="button" value="Add Another Service"> 
<input id="addmultiterms" type="button" value="Go"> 

내가, 내가 모두 위의 버튼이 사라질 것을 필요로하는 값 "또 다른 서비스를 추가"로 버튼 즉, 첫 번째 버튼을 클릭하면 아웃을 수행 한 다음 ajax 요청이 수행됩니다. 그런 다음 두 버튼이 기본 '컨테이너'div에 다시 추가됩니다.

이것은 재귀 적입니다. 다시 말하면 새로 추가 된 첫 번째 버튼을 다시 클릭하면 새로 추가 된 버튼이 모두 사라지고 다른 세트가 문서에 추가되어야합니다.

$('#anotherservices').live("click",function(e) 
{ 
$(this).fadeOut(); 
$('#addmultiterms').fadeOut(); 

/* ajax request goes here */ 

$('#container').append('<input id="anotherservices" type="button" value="Add Another Service">'); 

$('#container').append('<input id="addmultiterms" type="button" value="Go">'); 

을하지만 두 번째 버튼을 누르면 값이 런타임에 DOM에 추가되지 않기 때문에 밤은이 페이드 아웃 "이동"

이 달성에 사용되는 코드 필자는 다음과 같다.

어떻게해야합니까?

+0

페이드 아웃()를 할 요소를 제거하지 않으면 그냥 숨기므로 동일한 ID를 가진 여러 요소를 작성해야합니다. .append()를 사용하여 기존 버튼을 컨테이너의 끝으로 이동 한 다음 fadeIn()을 사용하여 다시 표시하는 이유는 무엇입니까? – nnnnnn

+0

이 fadeOut을 Remove로 변경했습니다. 그리고 이제는 효과가 있습니다. 정말 고마워 :) –

답변

1

fadeOut()은 주석에서 nnnnnn으로 언급 된 요소를 제거하지 않습니다. fadeIn() 메서드를 사용하여 단추를 다시 표시 할 수 있습니다.

$("#addmultiterms").attr('value', 'Go'); 

두 번째 옵션은 새 단추를 추가하기 전에 제거됩니다. 다음 코드를 사용하여 단추를 제거 할 수 있습니다. 동적 요소를 추가하는 경우 먼저 생성 할 페이드 아웃과 다른 뭔가를 추가 할 때 처음으로, 그것 때문에 왜

$("#addmultiterms").remove(); 
0

, 당신은 다음의

$(document).ready(function(){ 
    -- Your Function goes here 
}) 

을 사용해야합니다 그런 식으로 제거하거나 뭔가처럼 다른 논리를 따를 수 있습니다 .. 를 사용 분명히 '제거'할 그런데 ....이 도움이

희망 ......