2013-09-04 2 views
-1
$('body').on('click','.removebet i',function(e){ 
    var a = $(this).attr("id"); 
    var data = "a="+a; 

    $.ajax({ 
     type: "POST", 
     url: "yorumcikar.php", 
     data: data, 
     success: function(e){ 
    }); 

나는이 문제를 설명 할 것이다. 이 함수를 사용하여 AJAX 양식을 게시 할 수 있으며 Ajax에서 오는 .removebet i을 제외하고는 문제가 없습니다.에 게시 된 Ajax 게시물

AJAX에 .removebet i을 붙이면 AJAX를 호출하지 않기 때문에이 함수가 작동하지 않습니다.

예 : 나는 '나'가 작동하지 않습니다 상단에있는 기능에 태그를 클릭 한 다음

$(".maindiv").html("<span class='removebet'><i>Yes</i></span>"); 

.

+0

문제를 조금 더 설명해 주시겠습니까? 지금은별로 의미가 없습니다. 또한 구문 오류는 단지 복사 + 붙여 넣기 실수라고 가정합니다. –

+0

당신의 마지막 문장은 당신의'.removebet i' 요소가 클릭 된 후에야 생성된다는 것을 말하는 것 같습니다. 이것은 정말로 당신이 의미하는 바가 아닐 수 있습니다. 거기에'.removebet i' 요소를 생성하는 다른 코드가 있습니까? – nnnnnn

+0

페이지에'removebet' 클래스의 요소 아래에 정말로'' 태그가 있습니까? – cars10m

답변

-2

나는 이것이 작동해야한다고 생각합니다.

$('.removebet > i').click(function(event){ 
    var a = $(this).attr("id"); 
    alert(a); 

    $.ajax({ 
     type: "POST", 
     url: "yorumcikar.php", 
     data: data, 
     success: function(retval){ 
      alert(retval); 
     } 
    }); 
}); 

편집

이 작동합니다, 그러나 각각의 새로 추가 된 항목이 이미 일어난 바인딩으로 바인딩되지 않습니다. 새로 추가 된 항목을 바인딩하려면 추가 할 때 다시 바인딩해야합니다.

$.ajax({call to get your new item}, 
     success: function(data){ 
      // add to dom 
      bindElement(newElement); 
     } 
}); 

function bindElement(element){ 
$(element).click(function(event){ 
    var a = $(this).attr("id"); 
    alert(a); 

    $.ajax({ 
     type: "POST", 
     url: "yorumcikar.php", 
     data: data, 
     success: function(retval){ 
      alert(retval); 
     } 
    }); 
}); 
} 
+0

아약스는 이것에 구속되지 않는 새로운'.removebet i' 요소들을 추가 할 것이기 때문에 명시 적으로 작동하지 않을 것입니다. 그는 이미 자신의 이벤트를 적절하게 위임하고 있지만 이것은 잘못된 것입니다. – Chad

+0

이것은 내가 찾고있는 것이 아닙니다.나는 아약스 포스트와 함께 작동하는 함수를 찾고있다 –

+0

이 질문은 내가 대답하는 동안 변경되었다. 혼란을 드려 죄송합니다. 원래 그는 전화를 통해 '.removebet i'를 제거하지 않는 한 왜 아약스를 호출하지 않았는지 질문했습니다. – Robert

관련 문제