jQuery复选框选中状态更改事件

jQuery复选框选中状态更改事件

当选中/取消选中复选框时,我希望事件触发客户端:

$('.checkbox').click(function() {
  if ($(this).is(':checked')) {
    // Do stuff
  }});

基本上我希望它发生在页面上的每个复选框上。这种方法是点击并检查状态好吗?

我认为必须有一个更清晰的jQuery方式。有人知道解决方案吗?


慕妹3146593
浏览 4698回答 3
3回答

达令说

绑定到change事件而不是click。但是,您可能仍需要检查复选框是否已选中:$(".checkbox").change(function() {     if(this.checked) {         //Do stuff     }});在change事件上绑定事件的主要好处click是,并非所有单击复选框都会导致它更改状态。如果您只想捕获导致复选框更改状态的事件,则需要使用恰当命名的change事件。 在评论中编辑另请注意,我使用的this.checked不是将元素包装在jQuery对象中并使用jQuery方法,只是因为它直接访问DOM元素的属性更短更快。编辑(见评论)要获得所有复选框,您有几个选项。您可以使用:checkbox伪选择器:$(":checkbox")或者您可以使用属性equals selector:$("input[type='checkbox']")

鸿蒙传说

这是找到的解决方案是否选中了复选框。使用#prop()函数//$("#c_checkbox").on('change', function () {                     if ($(this).prop('checked')) {                         // do stuff//                     }                 });
打开App,查看更多内容
随时随地看视频慕课网APP