我在表格中有几行复选框。检查一个输入时,我需要在同一个表行中禁用其他两个输入。但是,如果我返回并取消选中输入,我需要将其他两个设置为false。
<table>
<tr class="row1"><td>Row 1</td><td><input type="checkbox" value="1" name="">Row 1 Column 1</td><td><input value="2" type="checkbox" name="">Row 1 Column 2</td><td><input value="3" type="checkbox" name="">Row 1 Column 3</td></tr>
<tr class="row2"><td>Row 2</td><td><input type="checkbox" name=""></td><td><input type="checkbox" name=""></td><td><input type="checkbox" name=""></td></tr>
答案 0 :(得分:0)
当您check
一个checked=true
时,您希望其他人被禁用disabled=true
,反之亦然。因此,一个(已检查)的状态true/false
控制其他状态。
完成后,代码的其余部分是直截了当的,找到父tr
然后找到所有checkbox
元素,而不是this
,并设置他们的disabled
} property to [boolean] value checked
。
$(function() {
$(':checkbox').on('change',function() {
var checked = this.checked;
$(this).closest('tr').find(':checkbox').not(this).prop('disabled',checked);
});
});