JQuery - 仅选择当前表中的所有复选框

标签 jquery

我在 C# 中有两个嵌套的转发器。外部有一些分组信息,内部有一个带有 X 个复选框的表格。

所以我将有 Y 张 table 。每个表的顶部都有一个复选框(以及每行都有一个复选框)。我想要做的是能够从每个表格顶部的复选框中选择单个表格中的所有复选框。

我可以一次性选择所有复选框,如下所示:

$(document).ready(function() {
        $("#checkboxflipflop").click(function() {
            var checked_status = this.checked;
            $(".storecheckbox input").each(function() {
                this.checked = checked_status;
            });
        });
    });

我只是不知道如何将选择范围缩小到当前表格(每个表格顶部的复选框位于第三行)。

谢谢

编辑...抱歉忘记提及我们使用的是 JQuery 1.26,不确定我是否可以升级。这意味着“最近的”不存在。

最佳答案

像下面这样的事情应该做到这一点

$('th input:checkbox').click(function(e) {

var table = $(e.target).closest('table');
$('td input:checkbox', table).attr('checked', e.target.checked);

});

这是一个 Working Demo 两个表嵌套在另一个表中(我承认语义上很糟糕)。将 /edit 添加到 URL 以查看代码

编辑:

由于您仍在使用 jQuery 1.2.6,因此请使用 parents() 而不是 closest()

$('th input:checkbox').click(function(e) {

var table = $(e.target).parents('table:first');
$('td input:checkbox', table).attr('checked', e.target.checked);

});

关于JQuery - 仅选择当前表中的所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1742010/

相关文章:

javascript - jquery 使用 $(this) 不起作用

javascript - 图像详细信息 - 日期、真实高度、真实宽度

javascript - 从 jQuery Each 元素中获取 ID 字段

javascript - 如何从异步调用返回响应?

javascript - 在更改语言时更改 div 的所有元素(html)?

javascript - Jquery Tmpl - 每个循环内的父对象属性

php - jQuery 验证插件

javascript - 为什么 Highcharts 中的标记点与 y 轴不对齐?

jQuery mobile,多个页面的 pageshow 事件

javascript - Div 对齐,避免在两个 div 中使用相同的 html