我有一个脚本应该检查表格行中的所有复选框。但通过使用下面的帖子,我可以检查表格中的所有复选框。我不想要这个。我想仅以行方式检查复选框。
参考文章:
Jquery select all checkboxes in table
示例HTML代码:
<table>
<tr>
<th>
<input type="checkbox" id="selectAll" />
</th>
<th>
hi!
</th>
</tr>
<tr>
<td>
<input type="checkbox" id="1"/>
</td>
<td>
hi!
</td>
</tr>
<tr>
<td>
<input type="checkbox" id="2"/>
</td>
<td>
hi!
</td>
</tr>
</table>
示例Jquery:
$('#selectAll').click(function(e){
var table= $(e.target).closest('table');
$('td input:checkbox',table).prop('checked',this.checked);
});
请参阅以下有关我的项目的截图
答案 0 :(得分:1)
看起来你有选择所有复选框的重复ID。 ID必须是唯一的。您可以给同一个类选择所有复选框(比如selectAll),然后使用类选择器。
同样,对于目标最近的tr,您可以遍历到最近的tr而不是获取表元素。然后在其中找到输入复选框。像这样:
$('.selectAll').click(function(e){
var tr= $(e.target).closest('tr');
$('td input:checkbox',tr).prop('checked',this.checked);
});