jQuery/Javascript:选中所有复选框,但仅在特定表内

发布于 2024-12-12 03:42:11 字数 637 浏览 0 评论 0原文

这里只需要一点帮助。首先,我的 HTML 如下所示:

<div>
<table id="table" width="100%">
<tr>
    <th><input type="checkbox" />Select All</th>
    <th>A</th>
    <th>B</th>
    <th>C</th>
    <th>D</th>
</tr>
<tr>
    <td><input type="checkbox" /></td>
    <td>A</td>
    <td>B</td>
    <td>C</td>
    <td>D</td>
</tr>
</table>
</div>

在一个页面中还有 5 个这样的表格,我要做的是,当在某个特定的 复选框被选中时表中,仅会选中该特定表中的 复选框。任何有关如何完成此操作的帮助将不胜感激。

Just needing a little help here. To start off, here's what my HTML looks like:

<div>
<table id="table" width="100%">
<tr>
    <th><input type="checkbox" />Select All</th>
    <th>A</th>
    <th>B</th>
    <th>C</th>
    <th>D</th>
</tr>
<tr>
    <td><input type="checkbox" /></td>
    <td>A</td>
    <td>B</td>
    <td>C</td>
    <td>D</td>
</tr>
</table>
</div>

There's 5 more tables like this in a single page and what I'm meaning to do is that when the <th> checkbox is ticked on a certain table, only the <td> checkboxes within that certain table will be checked. Any help on how this will be done would be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

亚希 2024-12-19 03:42:11

您可以将 change 事件处理程序绑定到作为 th 元素的后代的所有复选框,然后检查作为最近 table 的后代的所有复选框。 code>:

$("th :checkbox").change(function() {
    $(this).closest("table").find(":checkbox").prop("checked", true);
});

这是一个包含 2 个表的工作示例。如果您希望第 th 中的复选框也取消选中所有其他复选框,那么您可以使用 prop 的第二个参数来执行此操作(感谢@SalmanA):

$("th :checkbox").change(function() {
    $(this).closest("table").find(":checkbox").prop("checked", $(this).is(":checked"));
});

You can get bind a change event handler to all checkboxes that are descendants of a th element, and then check all checkboxes that are descendants of the closest table:

$("th :checkbox").change(function() {
    $(this).closest("table").find(":checkbox").prop("checked", true);
});

Here's a working example with 2 tables. If you want the checkbox in the th to uncheck all the other checkboxes too, then you can do this, using the second argument of prop (thanks @SalmanA):

$("th :checkbox").change(function() {
    $(this).closest("table").find(":checkbox").prop("checked", $(this).is(":checked"));
});
旧伤还要旧人安 2024-12-19 03:42:11

使用下面的jquery

$('input[Type="checkbox"]', $('#tableID')).prop("checked", true);

Use the below jquery

$('input[Type="checkbox"]', $('#tableID')).prop("checked", true);
七色彩虹 2024-12-19 03:42:11
$('#table input:checkbox').prop('checked', true);

为第 th 标签中的每个复选框绑定此事件(如 James Allardice 的回答)

$('th :checkbox').change(function() {
    $(':checkbox', $(this).closest('table')).prop('checked', true);
});
$('#table input:checkbox').prop('checked', true);

To bind this event for each checkbox in the th tags (as in James Allardice's answer)

$('th :checkbox').change(function() {
    $(':checkbox', $(this).closest('table')).prop('checked', true);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文