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');
    });