使用 jQuery 切换(启用/禁用)HTML 表中的所有复选框
Toggle (enable / disable) all checkboxes in an HTML table with jQuery
我想在HTML <table>
中添加一个Enable all
复选框,以切换该<table>
内的所有复选框。
我无法让它工作。
我的查询 :
var elementName = 'TestName';
$('input[familyname="TestName"]').on('click', function() {
if ($("input[familyname='" + elementName + "']").is(':checked')) {
$(this).find('tr').nextAll('tr').find('input').prop('checked', true);
} else {
$(this).find('tr').nextAll('tr').find('input').prop('checked', false);
}
});
另请参阅此小提琴。
<小时 />更新:
我让它使用以下代码:
var elementName = 'TestName';
var $checkboxes = $('.table-list').find('input');
$('input[familyname="TestName"]').on('click', function() {
$checkboxes.prop('checked', $(this).is(':checked'));
});
但是,当我想添加更多表时存在错误。看到这个小提琴。
你必须像下面这样更改你的代码,
var elementName = 'TestName';
$('input[familyname="' + elementName + '"]').on('click', function() {
var elems = $(this).closest('table.table').find('tr input');
elems.prop('checked', this.checked)
});
在我们的上下文中,tr
是父母,因此.find()
$(this)
是行不通的。因此,我们必须使用 .closest()
来获取父表,从中我们可以获取所有必需的输入 - 复选框元素。
演示
您设置了两个单选按钮的相同 id,为单选按钮提供唯一 ID 并使用上面的代码。
演示
这是实现所需效果的简单但最佳的方法,适用于任意数量的复选框组:
var elementName = 'TestName';
$('input[familyname="' + elementName + '"]').on('click', function(e) {
$(this)
.closest('.table-list')
.find('input')
.prop('checked', this.checked);
});
(另见这首小提琴)
如果你输入thead
那么你不能直接做.find()
而是遍历到tbody
并选择所有type=checkbox
input
,比如:
$(this).closest("table").find('tbody input[type=checkbox]').prop('checked', true);
同样,请执行以下操作:
$(this).closest("table").find('tbody input[type=checkbox]').prop('checked', false);
试试这个:
$(document).on('click', '#switchall1', function() {
if ($(this).is(':checked')) {
$(this).closest('table').find('tbody tr input').prop('checked', true);
}
else {
$(this).closest('table').find('tbody tr input').prop('checked', false);
}
});
相关文章:
- javascript从选中的复选框中检索输入值,并在同一网页中显示多个html文件
- 如何将复选框值从 HTML 发送到 Node JS
- 使用 html 中的复选框切换表格上的颜色
- 多个复选框,如果正确,则更改背景图像(HTML/Javascript)
- 如果在 HTML/JavaScript 中选中了复选框,则填充单选按钮
- 根据签入的表单,在html电子邮件模板中将复选框标记为true
- 选中一个复选框后,使用html.checkbox自动禁用其他复选框
- 是否可以只使用CSS和HTML而不使用Javascript来完全自定义复选框
- 如何在HTML和JavaScript中检查复选框是否为真
- javascript/html 中的复选框
- 在复选框取消选中事件中从HTML下拉列表中删除项目
- 如何更改html中复选框的对齐方式
- 复选框将如何通过javascript触发html中的另一个输入元素
- ng动态生成的html/ionic复选框内的更改不绑定
- 选择多个复选框并将值分配给数组 - HTML/Javascript
- 带有复选框 (html) 的 If/Then 语句
- 任何一个输入所需的文本区域或 HTML 表单中的复选框
- 显示或隐藏基于复选框数据的 HTML 列表,Laravel 4
- 在运行时添加复选框并将其保存在 HTML 文件代码中
- 没有正确传递复选框-html表单的值(javascript)