类上的jQuery触发器更改?

时间:2012-11-22 21:57:10

标签: javascript javascript-events jquery

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

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

谢谢。

更新
我的例子: http://jsfiddle.net/ZqJvc/

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

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

1 个答案:

答案 0 :(得分:2)

当ALL复选框更改时,使用

将.abc类的所有复选框设置为true
$("input[name=ALL]").change( function( ) {

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

小提琴here