不必点击小的特定复选框区域,我想通过单击父容器来检查复选框,这里有一个示例fiddle。而不是添加红色,ID就像检查li
中的框一样。
我试着寻找这个答案,但找不到我想要的东西,这应该很简单,对某些人来说可能很有趣。
HTML:
<li class="option table selected">
<div class="cell" id="left">
<div class="fontawesome-menu"></div>
</div>
<div class="cell" id="center">
<div class="option-text">I like green eggs</div>
</div>
<div class="cell" id="right">
<div class="option-checkbox">
<div class="check"></div>
<input name="personalization_result[memory_0]" type="hidden" value="0">
<input id="personalization_result_memory_0" name="personalization_result[memory_0]" type="checkbox" value="1">
</div>
</div>
</li>
jQuery:
$('li').click(function () {
$(this).addClass('seuss');
});
请查看fiddle以更好地了解我的问题。
答案 0 :(得分:2)
你可以这样做:
$('li').click(function(){
var el = $(this).toggleClass('seuss');
el.find('input[type=checkbox]').prop('checked', el.hasClass('seuess'));
});
HTML:
<li class="option table selected">
<label for="personalization_result_memory_0">
<div class="cell" id="left">
<div class="fontawesome-menu"></div>
</div>
<div class="cell" id="center">
<div class="option-text">I like green eggs</div>
</div>
<div class="cell" id="right">
<div class="option-checkbox">
<div class="check"></div>
<input name="personalization_result[memory_0]" type="hidden" value="0">
<input id="personalization_result_memory_0" name="personalization_result[memory_0]" type="checkbox" value="1">
</div>
</div>
</label>
</li>
使用Javascript:
$('input[type=checkbox]').change(function(){
var el = $(this).closest('li').toggleClass('seuss');
});
请注意,即使您将输入包装在<label>
中,也应使用for
属性。
答案 1 :(得分:1)
您可以使用<label>
代码
答案 2 :(得分:0)
添加了$(this).find('input').prop('checked', true);
答案 3 :(得分:0)
使用“for”和“id”来实现这个功能很容易。 这是示例。
<div>
<input type="checkbox" id="contractConsent" />
<label for="contractConsent">By checking this box, I agree to the terms and conditions. </label>
</div>