jquery - 如何在 Jquery 中选中复选框时监听

标签 jquery

我需要知道页面上的任何复选框何时被选中:

例如

<input type="checkbox">

我在 Jquery 中试过了

$('input type=["checkbox"]').change(function(){
alert('changed');
});

但是它没有用,有什么想法吗?

最佳答案

使用 change() 事件和 is() 测试:

$('input:checkbox').change(
    function(){
        if ($(this).is(':checked')) {
            alert('checked');
        }
    });

我已经将上面的内容更新为以下内容,因为我愚蠢地依赖 jQuery(在 if 中),而 DOM 属性同样适用,而且使用起来更便宜。选择器也已更改,以便在支持它的浏览器中将其传递给 DOM 的 document.querySelectorAll() 方法:

$('input[type=checkbox]').change(
    function(){
        if (this.checked) {
            alert('checked');
        }
    });

为了完整起见,同样的事情在普通 JavaScript 中也很容易实现:

var checkboxes = document.querySelectorAll('input[type=checkbox]'),
    checkboxArray = Array.from( checkboxes );

function confirmCheck() {
  if (this.checked) {
    alert('checked');
  }
}

checkboxArray.forEach(function(checkbox) {
  checkbox.addEventListener('change', confirmCheck);
});

引用资料:

关于jquery - 如何在 Jquery 中选中复选框时监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878757/

相关文章:

php - json、ajax、php和mySQL的设计结构

jquery - 使用jquery在<a>标签中插入 'rel'属性

jquery - 悬停时播放 YouTube 视频

javascript - 首先在 JavaScript 中使用 for 循环加载最后的记录

javascript - 如何覆盖闭包内的函数?

javascript - ajax帖子为空(数据库中的空字符串)

javascript - 在本地使用 bootstrapValidator 发送静态数据

javascript - javascript 中的新行传递给获取参数

jquery - 使用 bootstrap 制作 Accordion 动画

jQuery 输入字段错误 : Uncaught ReferenceError