2013-04-29 2 views
0

AJAX 콜백의 결과로 DOM에 삽입되는 HTML 조각이 여러 개 있습니다.AJAX를 통해 DOM에 추가 된 항목의 변경시 JQuery 전달 인수

각 조각에는 "수량"인 텍스트 상자가 포함됩니다.

내가하고 싶은 일은이 텍스트 상자의 텍스트 값 중 하나가 변경 될 때마다 발생하는 "변경시"이벤트 처리기를 만드는 것입니다. 그러나 해당 이벤트가 시작되면/처리, 특정 텍스트 상자가 업데이트 된 알아야합니다. 나는 quanity를 업데이트 할 때

$(document).on('change', $('#divABC').find(".quantity"), List.quantityChanged); 

그리고 내 "List.quantityChanged"이벤트 핸들러 행복하게 화재 : jQuery를 사용하여 좋아

는, 나는 내 "Lists.initHandlers"방법 화재가 다음있다.

문제는 이벤트 처리기 내에서 "this"를 참조 할 때 이벤트를 트리거 한 요소가 아니라 전체 문서를 가져옵니다.

$(document).on('change', $('#divABC').find(".quantity"), {ctrl: this}, List.quantityChanged); 

하지만이 시도 할 때 (I 인수를 기대하는 서명을 변경하는 경우에도), 핸들러는 트리거되지 않습니다 :

I과 유사한 구문을 사용하여 요소를 캡처하기 위해 노력했다.

여기에있는 모든 안내가 가장 높이 평가됩니다.

감사

그리피스

+0

을 그냥 안 "#divABC> input.quantity" – dt192

답변

0

이 시도 :

$('.quantity').live('change', function(){ 
     alert('New value: ' + $(this).val()); 
    }); 
0

패스 this를 함수에 :

$(document).on('change', $('#divABC').find(".quantity"), function() { 
    List.quantityChanged(this); 
}); 
관련 문제