我在 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/