Jquery – 在页面加载时更改事件触发

我在HTML页面上选择控件并使用Jquery设置更改事件。

但是当我尝试更改选择控件中的值时,事件会在页面加载时触发并且不会触发。

有什么想法吗?

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

你的语法错了。

通过编写change(CalculateHours($(this)) ,您正在调用 CalculateHours函数并将其返回值传递给jQuery的change方法,就像它是一个函数一样。如果您的函数返回另一个函数并且您想要添加它,则只会编写此函数返回的函数作为事件处理程序。

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

您正在尝试将CalculateHours的结果绑定到更改事件。 试试这个。

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