是否有复选框更改状态的事件?

时间:2013-02-06 08:09:49

标签: jquery html checkbox

当根据其他一些交互更改/修改状态时,是否存在复选框更改的事件。我的意思是不是点击文本框。

我试过这段代码:

$('input[type="checkbox"]').bind('change',function(){
    alert('Checkbox state is changed.');
});

...但正如您在this demo中看到的那样,如果单击该复选框,我会看到一条警告,显示“复选框状态已更改”。更改事件触发的消息。但是,当使用按钮更改复选框状态时,不会触发相同的操作。

我错过了什么吗?

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

不,通过JavaScript设置checked属性不会触发任何事件。如果您需要触发一个,则必须自己编写脚本或触发click事件,然后再触发状态更改。

答案 1 :(得分:1)

问题是您正在修改DOM中的“已检查”属性,但未调用相同的事件处理程序。

在按钮事件中,您可以使用trigger并执行:

$('input[type="checkbox"]').trigger('change');   

http://jsfiddle.net/wmVtB/7/