Javascript 仅为选中复选框的输入获取标签名称

Javascript 仅为选中复选框的输入获取标签名称,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我有一个字段集,如下所示 <div class="ui-field-contain"> <fieldset id="fieldstep1" data-role="controlgroup"> <legend>Choose Sections:</legend> <input name="checkbox-1a" id="checkbox-1a" type="checkbox"> <label for="che

我有一个字段集,如下所示

<div class="ui-field-contain">
<fieldset id="fieldstep1" data-role="controlgroup">
    <legend>Choose Sections:</legend>
    <input name="checkbox-1a" id="checkbox-1a" type="checkbox">
    <label for="checkbox-1a">Morning</label>
    <input name="checkbox-2a" id="checkbox-2a" checked  type="checkbox">
    <label for="checkbox-2a">Evening</label>
    <input name="checkbox-3a" id="checkbox-3a" checked type="checkbox">
    <label for="checkbox-3a">Night</label>
    <input name="checkbox-4a" id="checkbox-4a" checked type="checkbox">
    <label for="checkbox-4a">Snacks</label>
</fieldset>
</div>         
这是Js小提琴-

试试看

$('#fieldstep1 input:checkbox:checked + label').each(function(){
var a = $(this).text();
alert(a);
});
演示:


检查演示站点后:

$('#fieldstep1 input:checkbox:checked').prev().each(function () {
    var a = $(this).text();
    console.log(a);
});

您可以这样做:

$('#fieldstep1').find('label').each(function () {
    if ($('#' + $(this).attr('for')).is(':checked')) {
        var a = $(this).text();
        alert(a);
    }
});
说明:对于每个标签,
$('#'+$(this).attr('For'))
获取标签的复选框,
.is(':checked')
检查是否选中该复选框


查看更新后的。

由于某些原因,它没有在我的html主页中循环。.无论如何,你的参考资料+1:)和raidiri答案正在工作。你的小提琴中的html是否与你的键盘中的html相同page@Vishnu我想问的是结构是否相同。。。标签是否在输入之后element@Vishnu支票在哪里boxes@Vishnu问题是标签首先在标记中,然后是输入元素
$('#fieldstep1').find('label').each(function () {
    if ($('#' + $(this).attr('for')).is(':checked')) {
        var a = $(this).text();
        alert(a);
    }
});