2010-02-05 90 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方法,如果它是一個功能。如果你的函數返回了另一個函數,並且你想把返回的函數作爲事件處理函數添加,你只會寫這個。

你需要寫.change(function() { CalculateHours($(this)); })

1

您正在試圖CalculateHours到裏邊反改變事件的結果綁定。試試這個。

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