即使通过javascript代码检查,如何触发checkbox单击事件?

我在我的页面有很多checkbox,并且有一个全选的checkbox来检查所有的checkbox。 不知何故,我想模仿checkbox的点击事件,即使通过select所有button选中/取消选中。 我该怎么做?

您可以使用jQuery .trigger()方法。 请参阅http://api.jquery.com/trigger/

例如:

 $('#foo').trigger('click'); 

获取检查状态

 var checked = $("#selectall").is(":checked"); 

然后进行设置

 $("input:checkbox").attr("checked",checked); 

你也可以使用.change()函数

例如:

 $('form input[type=checkbox]').change(function() { console.log('hello') }); 

从jQuery的触发function可以是你的答案。

jQuery文档说: 任何事件处理程序附加.on()或其快捷方法之一是相应的事件发生时触发。 但是,可以使用.trigger()方法手动触发它们。 对.trigger()的调用按照与事件由用户自然触发时相同的顺序执行处理程序

因此,最好的一行解决scheme应该是:

 $('.selector_class').trigger('click'); //or $('#foo').click(); 

没有gQuery

的document.getElementById( 'your_box')的onclick();

我在我的checkbox上使用了某些类。

 var x = document.getElementsByClassName("box_class"); var i; for (i = 0; i < x.length; i++) { if(x[i].checked) x[i].checked = false; else x[i].checked = true; x[i].onclick(); }