我在一个页面中有3个表格,并作为折叠和展开功能排列。所以我想实现"选择ALL"对表的功能,表行包含复选框。如果我单击"选择全部",它应该选择特定的表复选框而不是其他2个表复选框。
这里的问题是,这3个表格不包含表格ID和Select ALL"将在每个表(thead)中存在。如果我选择"选择全部"对于第一个表,它应该选择第一个表行复选框,依此类推其他2个表
那么有没有办法可以实现没有表id并选择动态表行复选框?
赞赏你的答案。
感谢。
答案 0 :(得分:2)
假设选择全部' checkbox具有类名'selectAll'
,位于表本身内:
$('input.selectAll').change(function(){
var all = this;
$(this).closest('table').find('input[type="checkbox"]').prop('checked', all.checked);
});
$('input.selectAll').change(function() {
var all = this;
$(this).closest('table').find('input[type="checkbox"]').prop('checked', all.checked);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td><input type="checkbox" class="selectAll" />Select All</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td><input type="checkbox" class="selectAll" />Select All</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td><input type="checkbox" class="selectAll" />Select All</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td><input type="checkbox" /></td>
</tr>
</tbody>
</table>
&#13;
答案 1 :(得分:0)
是。使用eq()
按索引获取表。索引从0
$('table').eq(0); // selects first table
$('table').eq(1); // selects second table and so on...