2

我有一个复选框列表。每个复选框都有.change(function(){alert('xyz')}). 每个复选框都有一个类abc
我还有一个名为“ALL”的附加复选框。当“ALL”复选框被更改时,它会更改所有其他复选框的状态。

我希望更改“全部”复选框以触发.change(...)所有其他复选框的更改 ( )。但由于其他复选框的状态是以编程方式完成的,因此它本身不起作用。
我尝试用它$('.abc').change()来触发所有复选框的更改事件,但没有成功。
我做错了什么,如何完成手头的任务?
顺便说一句,如果我这样做$('#id_of_a_specific_checkbox').change(),效果很好。


谢谢你。

更新
我所拥有的示例:http: //jsfiddle.net/ZqJvc/

这几乎是我在大型项目中所拥有的......在简短的例子中它可以工作:/
但在实际项目中它不起作用。唯一的区别是在实际项目中我有很多复选框。奇怪......我猜它又回到了调试器。谢谢。

更新
Chrome 完全崩溃后......我重新启动了浏览器,它就像上面的例子一样工作。抱歉浪费了我们的时间。再次感谢各位。

4

1 回答 1

2

要在 ALL 复选框更改时将所有具有 .abc 类的复选框设置为 true,请使用

$("input[name=ALL]").change( function( ) {

    $(".abc").prop("checked", $(this).prop("checked") );
    $(".abc").trigger("change");
});

在这里提琴

于 2012-11-22T22:12:38.057 回答