我有一个像下面这样的字段集
<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>
我需要获取已选中Checkbox的所有标签名称。
右键我使用此代码。这将返回所有标签名称。
$('#fieldstep1').find('label').each(function(){
var a = $(this).text();
alert(a);
});
这是Js小提琴 - http://jsfiddle.net/sGy38/
答案 0 :(得分:1)
尝试
$('#fieldstep1 input:checkbox:checked + label').each(function(){
var a = $(this).text();
alert(a);
});
演示:Fiddle
见
检查演示站点后:
$('#fieldstep1 input:checkbox:checked').prev().each(function () {
var a = $(this).text();
console.log(a);
});
答案 1 :(得分:1)
你可以这样做:
$('#fieldstep1').find('label').each(function () {
if ($('#' + $(this).attr('for')).is(':checked')) {
var a = $(this).text();
alert(a);
}
});
说明:对于每个标签$('#' + $(this).attr('for'))
,获取标签的复选框,.is(':checked')
检查是否已选中。
请参阅更新后的fiddle。