2010-02-05 7 views
3

HTML 페이지에서 선택 컨트롤을 사용하고 Jquery를 사용하여 변경 이벤트를 설정했습니다.Jquery - 페이지로드시 이벤트 실행 변경

그러나 페이지로드시 이벤트가 발생하고 선택 컨트롤에서 값을 변경하려고 할 때 실행되지 않습니다.

왜 그런가?

$(function() { 
    $('select[id^=Start], select[id^=Finish], select[id^=Lunch]').change(CalculateHours($(this))); 
}); 

답변

10

구문이 잘못되었습니다. change(CalculateHours($(this))를 작성하여

, 당신은 CalculateHours 함수를 호출하고 함수 인 것처럼 jQuery의 change 방법에 반환 값을 전달합니다. 함수가 다른 함수를 반환하고 반환 된 함수를 이벤트 처리기로 추가하려는 경우에만이 코드를 작성합니다.

당신은 당신이 발발했습니다 변경 이벤트에 CalculateHours의 결과를 결합하려는 .change(function() { CalculateHours($(this)); })

1

작성해야합니다. 대신이 방법을 사용해보십시오.

$(function() { 
    $('select[id^=Start], select[id^=Finish], select[id^=Lunch]').change(function() { 
     CalculateHours($(this)); 
    }); 
}); 
관련 문제