如何禁用/启用未选中的输入复选框 - jQuery

时间:2014-06-18 22:46:14

标签: javascript jquery

我在表格中有几行复选框。检查一个输入时,我需要在同一个表行中禁用其他两个输入。但是,如果我返回并取消选中输入,我需要将其他两个设置为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>

1 个答案:

答案 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);
    });
});

WORKING JS FIDDLE DEMO