2011-10-04 2 views
2

페이지에 입력 요소가 여러 개 있습니다. 각 입력 요소에는 서버에 대한 ajax 호출을 트리거하는 onchange 이벤트가 있습니다. 이 모든 onchanges를 비활성화 한 다음 요소에 프로그래밍 방식으로 변경 (재설정) 한 다음 이러한 onchange 이벤트를 다시 활성화하고 싶습니다. 이 결과로 아약스 호출이 하나만 발생하도록하십시오.몇 가지 요소에 대해 onChange를 비활성화하고 변경 한 다음 jQuery에서 onChange를 활성화하는 방법

어떻게 JQuery를 사용하여이 작업을 수행합니까?

많은 감사!

답변

3

.val()를 통해 입력 요소의 값이 change event 그래서 당신은 당신의 값을 설정 한 다음 손 끝에서 변경 이벤트를 트리거 할 수 있습니다 트리거하지 않습니다 변경 :

$('#a').val('where is'); 
$('#b').val('pancakes house?'); 
$('#a').change(); // This is the only change event 

데모 : http://jsfiddle.net/ambiguous/Qd2Ad/

에서 fine manual :

변화
변경 이벤트는 컨트롤이 입력 포커스를 잃고 포커스를 얻은 후 값이 수정 된 경우 발생합니다. 이 이벤트는 INPUT, SELECT 및 TEXTAREA에 유효합니다. 요소.

val을 호출 할 때 포커스가 변경되지 않으므로 이벤트가 없습니다.

+0

감사합니다. 내 페이지의 슬라이더에 문제가 있습니다. 변경 이벤트는 프로그램 변경에 따라 슬라이더에서 발생합니다. 그것을 해결하기 위해 : – Barka

+0

감사합니다! 내 페이지의 슬라이더에 문제가 있습니다. 변경 이벤트는 프로그램 변경에 따라 슬라이더에서 발생합니다. 그것을 고치기 위해서 : if (event.originalEvent) { 여기를 참고하십시오 : 행사 – Barka

관련 문제