Javascript-如何检查;“某些”;复选框,而不是全部使用我的当前代码?

Javascript-如何检查;“某些”;复选框,而不是全部使用我的当前代码?,javascript,Javascript,因此,我有两个表格在一页上打开。下面是我以前用来选择第一个表中所有复选框的脚本(这是当时唯一的一个): $('#selectAll')。单击(函数(){ 如果(选中此项){ $(':复选框')。每个(函数(){ this.checked=true; }); }否则{ $(':复选框')。每个(函数(){ 此项检查=错误; }); } }); 我如何才能将此更改为更具体的内容?我是否需要将特定的类或ID属性添加到复选框中才能使其工作 假设两个表都有类。表。适用于两个表的脚本优化版本如下所示:

因此,我有两个表格在一页上打开。下面是我以前用来选择第一个表中所有复选框的脚本(这是当时唯一的一个):


$('#selectAll')。单击(函数(){
如果(选中此项){
$(':复选框')。每个(函数(){
this.checked=true;
});
}否则{
$(':复选框')。每个(函数(){
此项检查=错误;
});
} 
});

我如何才能将此更改为更具体的内容?我是否需要将特定的类或ID属性添加到复选框中才能使其工作

假设两个表都有类
。表
。适用于两个表的脚本优化版本如下所示:

$('.table').on('click', '.selectAll', function(e) {
    $(':checkbox', e.delegateTarget).prop('checked', this.checked);
});
注:

  • 您的全选复选框必须具有
    。全选
    ,而不是id

  • 使用
    .on
    方法,我们将一键式事件处理程序绑定到表中,当单击
    .selectAll
    时会触发该表
    e.delegateTarget
    指向当前表doElement。然后
    $(':checkbox',e.delegateTarget)
    表示
    在当前表中查找复选框

  • 您可以使用jQuery的
    prop
    方法执行相同但更简洁的操作,而不是使用
    each
    方法循环并设置
    checked=true/false


  • 演示:您已经在使用选择器,是时候了解它们是如何工作的了!酷。既然我知道了它们是如何工作的,我该如何让我的工作以我试图让它工作的方式进行呢?此外,我正在为各种不同的事情使用“name”属性,因此我希望在不必更改每个复选框的名称的情况下完成此操作。这不是一个“给我正确的代码”站点。你试着做什么?你研究了什么?你最后一次尝试的代码是什么?我并不是问你“确切的代码”。我只是要求为我的具体情况提供一个或多或少更好的指针,而不是一个解释我已经做了什么的链接。我遇到的场景是根据其“名称”属性选择特定的复选框,我不能使用此选项。您可以使用根据其名称属性进行检查。
    $('.table').on('click', '.selectAll', function(e) {
        $(':checkbox', e.delegateTarget).prop('checked', this.checked);
    });