javascript - 如何在 JQuery 中单击最近的元素(复选框)时禁用下一个元素(文本区域)?

标签 javascript jquery html

单击复选框时,我希望禁用下一个最近的文本区域。

以下是片段:

<div class="pure-u-1 pure-u-md-1-5">
  <input type="checkbox" value="true" class="fRegistrer" name="fRegistrer" id="fRegistrer">
</div>

<div class="pure-u-1 pure-u-md-1-5">
  <textarea cols="200" rows="5" class="normal" name="kommenter" id="kommenter"></textarea>
</div>

在 Jquery 中:

 onclick="$(this).closest('.textnormal').find('textarea').attr('disabled',true)"

最佳答案

单击复选框后,您可以使用 closest() 获取父 div,使用 next() 查找下一个兄弟 div,然后 find() 得到包含的 textarea。试试这个:

$(':checkbox').change(function() {
    $(this).closest('div').next('div').find('textarea').prop('disabled', !this.checked);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pure-u-1 pure-u-md-1-5">
  <input type="checkbox" value="true" class="fRegistrer" name="fRegistrer" id="fRegistrer">
</div>

<div class="pure-u-1 pure-u-md-1-5">
  <textarea cols="200" rows="5" class="normal" name="kommenter" id="kommenter" disabled="true">Foo bar</textarea>
</div>

关于javascript - 如何在 JQuery 中单击最近的元素(复选框)时禁用下一个元素(文本区域)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30978089/

相关文章:

javascript - Html.TextBoxFor 正则表达式不起作用

javascript - 有没有纯 Javascript X/HTML 验证器?

jquery - 具有相同宽度下划线的超链接

javascript - 无法使用 Link 来 console.log 属性

javascript - Angular JS 日期过滤器不起作用(日期时间)

javascript 无法在 struts html 标签上工作

使用toggleClass更改类后的jQuery事件

javascript - <a> 的字体颜色在 toggleClass() 上没有改变

javascript - 未捕获的TypeError:无法在 'createMediaElementSource'上执行 'AudioContext':参数1的类型不是 'HTMLMediaElement'

javascript - 如何在 Node.js 中使用 simple-peer 模块?