点击复选框,我想要下一个最近的文本区域被禁用。
以下是摘录:
<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)"
答案 0 :(得分:3)
点击该复选框后,您可以使用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>
答案 1 :(得分:0)
$('#fRegistrer').click(function () {
debugger
$(this).parent('.pure-u-1').next().find('#kommenter').attr('disabled',true);
});
<强> DEMO 强>