内的所有复选框我有一些动态生成的表,每看有点像这一点,与动态IDJQuery的 - 禁用不一样的表
<table class="innerDatTable" id="dynamically-generated'>
<caption><h2>Project #</h2></caption>
<thead>
<tr>
<th></th>
<th>SubProject Name</th>
<th>Date Completed</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" /></td>
<td><span>SubProjectName</span></td>
<td><span>Date</span></td>
</tr>
</tbody>
</table>
当任何一个复选框用户点击表内,应禁用所有其他复选框,其中而不是在此表内(因此它们只能从同一项目中选择子项目)。反之亦然,如果用户取消选中表格中的所有框,则所有复选框将再次可用。 我想这样的事情...
if ($('table input:checked').length > 0) {
checked = $(this).prop('checked');
($('table input[type=checkbox]').attr('id').not($(this).attr('id')))
.prop('disabled', checked);
}
这里的逻辑是,如果任何框表内检查,禁用所有不具有相同的ID作为该表(再次,这些ID其他复选框未提前知道)。我主要遵循这个question的答案,并试图将其改变为我的需要,但我无法获得所需的效果(或对此有任何影响)。
我是否需要将所有其他表ID放入数组中,并在循环中禁用它们中的每一个?有人能指出我在语法方面的正确方向,还是更好的逻辑?
禁用输入不会取消选中它,只是让您知道。 – Nit