Jquery目标父级向上两级复选框
我在尝试访问超出范围几级的复选框时遇到问题Jquery目标父级向上两级复选框,jquery,checkbox,parent,Jquery,Checkbox,Parent,我在尝试访问超出范围几级的复选框时遇到问题 <div class="control-group"> <input type="checkbox" name="employed_now" id="employed_now" class="checkbox-msg"/> <label><span class="label label-success checkbox-msg">Yes</span>employed_now</label
<div class="control-group">
<input type="checkbox" name="employed_now" id="employed_now" class="checkbox-msg"/>
<label><span class="label label-success checkbox-msg">Yes</span>employed_now</label>
我不能只使用/target“checkbox msg”的类名,因为页面上还有其他类
如何将parent>parent设置为复选框的目标 试试这个:
$(document).on('click', 'span.checkbox-msg', function (e) {
e.preventDefault();
$(this).before('input:checkbox').prop('checked',true);
});
您可以使用
.sibbines()
和.closest()
任何适合您的选项,您可以使用.prop()
来选中和取消选中:
$(this).parent().siblings('input:checkbox').prop('checked', true);
或
您可以这样做:
$(document).on('click', 'span.checkbox-msg', function (e) {
e.preventDefault();
$('input:checkbox', $(this).closest('div')).attr('checked','checked');
});
但是您可以将
for='Employeed\u now'
属性添加到您的
中,并且在没有jquery的情况下具有相同的功能。要更改的复选框在哪里,您只在html中显示了该复选框。@DavidThomas-只有一个复选框。span标记将选中/取消选中该项。复选框为id=employed\u now。
$(this).closest('.control-group').find('input:checkbox').prop('checked', true);
$(document).on('click', 'span.checkbox-msg', function (e) {
e.preventDefault();
$('input:checkbox', $(this).closest('div')).attr('checked','checked');
});