如何使用javascript/jquery为文档中的所有和任何复选框中的更改创建事件侦听器?
我希望能够为文档中的所有和任何复选框创建事件侦听器。因为复选框和单选按钮将通过JavaScript动态添加,而不是为每个复选框和单选按钮都有一个单独的事件侦听器,如果可能的话,只需要一个通用的事件侦听器就可以使用jquery change函数检查任何复选框中的更改。我知道如何通过一个复选框来实现这一点如何使用javascript/jquery为文档中的所有和任何复选框中的更改创建事件侦听器?,javascript,jquery,dom,Javascript,Jquery,Dom,我希望能够为文档中的所有和任何复选框创建事件侦听器。因为复选框和单选按钮将通过JavaScript动态添加,而不是为每个复选框和单选按钮都有一个单独的事件侦听器,如果可能的话,只需要一个通用的事件侦听器就可以使用jquery change函数检查任何复选框中的更改。我知道如何通过一个复选框来实现这一点 $('input[name=manybackgrounds]').change(function(){ if($(this).is(':checked')) { alert("it is
$('input[name=manybackgrounds]').change(function(){
if($(this).is(':checked'))
{
alert("it is checked");
}
else
{
alert("not checked");
}
}))
但由于它们可能是不可预测的复选框数量,因此检查是否有任何更改,然后询问哪些动态生成的复选框已被选中,将更容易。提前感谢您,非常感谢您的帮助。所有复选框的选择器为:
$('input[type=checkbox]')
现在你想用它做什么就做什么
编辑:
对于动态复选框
$(document).on('change', 'input[type=checkbox]', function(e) {
//DO YOUR THANG
});
阅读了解更多信息正如@JamesMontagne所指出的,您需要使用事件委派。确保将它们添加到您可以使用的容器中,然后在该容器上添加事件处理程序 如果您保证将其添加到#容器中,您可以执行以下操作:
$("#container").on("click", "input[name=manybackgrounds]", function() {
if($(this).is(':checked'))
{
alert("it is checked");
}
else
{
alert("not checked");
}
});
src:请看您想要的活动委派。非常感谢您的额外评论,这也很有帮助。@JamesMontagne现在有了。@Blazemonger他的评论在编辑之前:)在这种情况下,请编辑评论。(仅供参考,不是我的反对票)太好了,我试过了,效果很好,而且我似乎也可以用它来准确地确定选中了哪个复选框,这正是我所需要的。谢谢