jQuery禁用div的多个输入子节点

时间:2010-02-24 15:09:11

标签: jquery input jquery-selectors children

我想从复选框中执行以下操作,

每行都有一个复选框,我想在单击复选框时禁用类.room的行上的所有输入字段。

function toggleStatus(link) {
    $(link).closest(".room").children(':input').attr('disabled', true);
}

也尝试了

function toggleStatus(link) {
    $(link).closest(".room").children('input[type=text]').attr('disabled', true);
}

1 个答案:

答案 0 :(得分:6)

您的问题有些含糊不清,因此以下内容可能不是完全您正在寻找的内容。

点击后,您应该遍历到最近的表格行,找到所有具有类名.room的输入,并根据复选框本身的状态设置其disabled属性。

$(":checkbox").click(function(){
  $(this).closest("tr").find(":input.room")
    .attr("disabled", $(this).is(":checked"));
});

这假定结构类似于以下结构:

<table>
  <tbody>
    <tr>
      <td><input type="checkbox" /></td>
      <td><input type="text" class="room" /></td>
      <td><input type="text" class="room" /></td>
      <td><input type="text" class="room" /></td>
    </tr>
    <tr>
      <td><input type="checkbox" /></td>
      <td><input type="text" class="room" /></td>
      <td><input type="text" class="room" /></td>
      <td><input type="text" class="room" /></td>
    </tr>
  </tbody>
</table>

在线演示:http://jsbin.com/umimu/edit