2012-06-07 3 views
2

동일한 JQuery AJAX 요청을 발생시키는 여러 HTML 요소 (버튼)가 있습니다. AJAX 요청이 성공적으로 반환되면 AJAX 요청을 트리거 한 HTML 요소를 일부 업데이트해야합니다. 아래 코드와 같이 myDiv ID가있는 항목과 같이 업데이트 할 요소의 ID를 하드 코딩하려면이 작업을 수행하는 방법을 이해합니다.하지만 해당 ID에 해당하는 동적 ID를 처리하는 방법을 잘 모르겠습니다. 이벤트를 트리거 한 요소 나는 하나의 옵션을 파악Click 이벤트와 연관된 HTML 요소 업데이트 JQuery AJAX 요청

$('body').on(
    'click', 
    '#yt25', 
    function(){ 
     jQuery.ajax({ 
      'type':'POST', 
      'data':$("#custom-hazard-form").serialize()+"&ajaxRequest=hazard-form", 
      'success':function(data) { 
       $('#myDiv').html('This is the new text'), 
      } 
      'url':'#', 
      'cache':false 
    }); 
    return false; 
}); 

은 '데이터'옵션을 아약스 요청에서 키 - 값 쌍으로 이벤트를 트리거 HTML 요소의 ID를 보낸 다음이의 일부로서 클라이언트에 다시 전달하는 것입니다 AJAX 응답. 그런 다음 ID를 가져 와서 업데이트 할 HTML 요소를 알 수있었습니다. 이 문제를 해결하는 가장 좋은 방법입니까 아니면 더 명확한 것을 놓치고 있습니까? 감사.

답변

0
$('body').on(
'click', 
'#yt25', 
function(){ 
    var _this = this; 
    jQuery.ajax({ 
     'type':'POST', 
     'data':$("#custom-hazard-form").serialize()+"&ajaxRequest=hazard-form", 
     'success':function(data) { 
      $(_this).html('This is the new text'), 
     } 
     'url':'#', 
     'cache':false 
}); 
return false; 
}); 

ajax 요청과 함께 보낼 필요는 없습니다. 이것은 하나의 변형입니다. 또한 요소에 대한 일부 클래스를 assing하고 해당 클래스가 수행 할 요소를 가져올 수도 있습니다.

+0

간단한 자바 스크립트 범위 원칙을 간과했습니다. - 감사합니다! – ace25