<li>
<input type= "checkbox" name="paradigm" id="id_1" value="3"/>
<label for="name_3">foo</label>
</li>
<li>
<input type= "checkbox" name="paradigm" id="id_2" value="4"/>
<label for="name_4">bar</label>
</li>
这是两个复选框。如果我选中了复选框id_1
,则使用jquery我想要读取标签foo
。如果我同时检查了它,那么它应该是['foo','bar']
。
答案 0 :(得分:2)
$("input:checkbox:checked").map(function(){
return $(this).next().text();
}).get();
答案 1 :(得分:0)
试试这个:
var vSring = "";
$("input:checkbox[name='paradigm']").click(function(){
if($("input:checkbox[name='paradigm']").filter(":checked").length==2)
{
vSring="";
$("input:checkbox[name='paradigm']").each(function(){
var vText = $(this).next().text();
if(vSring=="")
vSring = vText+",";
else
vSring = vSring+vText+",";
});
alert(vSring);
}
else
{
if($(this).is(":checked"))
{
vSring="";
vSring=$(this).next().text();
alert(vSring);
}
}
});
答案 2 :(得分:0)
var checkedLabels = [];
$(':checkbox').each(function() {
if (this.checked) {
var label = $('label[for="' + this.id + '"]').text();
checkedLabels.push(label);
}
});
答案 3 :(得分:0)
只要<label>
元素紧跟其<input>
元素,就可以执行以下操作:
var a = [ ];
$('input[name=paradigm]:checked').next('label').each(function() {
a.push($(this).text());
});
更好的解决方案是在标签元素上设置正确的for
属性(即确保它们与其复选框上的id
属性相匹配)然后:
var a = [ ];
$('input[name=paradigm]:checked').each(function() {
a.push($('label[for=' + this.id + ']').text());
});