內的所有複選框我有一些動態生成的表,每看有點像這一點,與動態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