我有一个复选框列表。每个复选框都有 .change(function(){alert('xyz')})
。每个复选框都有一个类 abc
。
我还有一个名为“全部”的附加复选框。当“全部”复选框更改时,它会更改所有其他复选框的状态。
我希望更改“全部”复选框来触发所有其他复选框的更改 (.change(...)
)。但由于其他复选框的状态是通过编程完成的,因此它本身不起作用。
我尝试使用$('.abc').change()
触发所有复选框的change事件,但没有成功。
我做错了什么,如何完成手头的任务?
顺便说一句,如果我这样做 $('#id_of_a_specic_checkbox').change()
效果很好。
更新
我所拥有的示例:
http://jsfiddle.net/ZqJvc/
这几乎就是我在大型项目中所拥有的......并且在简短的示例中它可以工作:/
但在实际项目中却行不通。唯一的区别是,在实际项目中我有很多复选框。奇怪...我猜它又回到了调试器。
更新
Chrome 完全崩溃后...我重新启动了浏览器,它就像上面的例子一样工作。抱歉浪费了我们的时间。
最佳答案
要在 ALL 复选框更改时将所有具有 .abc 类的复选框设置为 true
$("input[name=ALL]").change( function( ) {
$(".abc").prop("checked", $(this).prop("checked") );
$(".abc").trigger("change");
});
fiddle here
关于javascript - jQuery 触发类更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13520502/